রিমোটে খালি কমিট করা ধাক্কা


242

আমি একটি প্রতিশ্রুতি রিমোটে ঠেলে দিয়েছি তবে এখন বুঝতে পেরেছি যে প্রতিশ্রুতিবদ্ধ বার্তাটি সঠিক নয়। আমি প্রতিশ্রুতি বার্তা পরিবর্তন করতে চাই তবে এএফআইএকি এটি সম্ভব নয়। সুতরাং আমি সঠিক বার্তার সাথে খালি প্রতিশ্রুতি তৈরি করার সিদ্ধান্ত নিয়েছি:

git commit --allow-empty

খালি কমিটগুলি ঠেলে দেওয়ার কোনও অসুবিধা / পরিণতি কি আছে? এই শূন্য প্রতিশ্রুতির কারণে ভবিষ্যতে আমার কোন সমস্যার মুখোমুখি হতে পারে ??


1
এই একই প্রশ্ন পরীক্ষা করুন stackoverflow.com/questions/6218199/...
Montaro

উত্তর:


80

আপনি কোনও ভয়াবহ পরিণতির মুখোমুখি হবেন না, কেবল ইতিহাস একধরণের বিভ্রান্তিকর দেখাচ্ছে।

আপনি করে প্রতিশ্রুতি বার্তা পরিবর্তন করতে পারে

git commit --amend
git push --force-with-lease # (as opposed to --force, it doesn't overwrite others' work)

তবে এটি আপনার সাথে দূরবর্তী ইতিহাসকে ওভাররাইড করে দেবে, এর অর্থ হ'ল যদি এর মধ্যে কেউ যদি সেই রেপো টানেন তবে এই ব্যক্তিটি আপনাকে খুব ক্ষিপ্ত হতে চলেছে ...

কেবলমাত্র যদি আপনি একমাত্র ব্যক্তি রেপো অ্যাক্সেস করেন তবে এটি করুন।


5
হ্যাঁ আমি কেন খালি প্রতিশ্রুতি দেওয়া পছন্দ করি
মৃত্যুরঞ্জয়

4
@ মৃতুঞ্জয় যদি অন্য লোকেরা রেপো টানানোর সুযোগ থাকে তবে হ্যাঁ, আমি মনে করি এটি একটি দুর্দান্ত বিকল্প।
গ্যাব্রিয়েল পেট্রোনেলা

1
আপনি কোনও ভয়াবহ পরিণতির মুখোমুখি হবেন না, কেবল ইতিহাস একধরণের বিভ্রান্তিকর দেখাবে - কী ভয়ানক পরিণতি! ;-)
অ্যালোস মাহডাল

3
--force-with-leaseসহযোগীদের কাজ হারানো এড়াতে পছন্দ করুন ।
কেনজো

22

শূন্য থাকুক বা না থাকায় কমিটস ঠেকানো ঘটনাচক্রে গিট হুকের সূত্রপাত ঘটায়। এটি হয় কিছুই করতে পারে না বা এর বিশ্ব বিপর্যয়কর পরিণতি হতে পারে।


9
এটি একটি আন্ডাররেটেড পর্যবেক্ষণ। হ্যাঁ, খালি কমিটগুলি পুশ কমিটগুলি সংশোধন করার চেয়ে সেরা হতে পারে, তবে যদি জায়গায় হুক থাকে তবে সেগুলি পার্শ্ব-প্রতিক্রিয়ামুক্ত বলে ধরে নেওয়া যায় না।
শীতেmute92

18

খালি কমিটগুলি ঠেলে দেওয়ার কোনও অসুবিধা / পরিণতি কি আছে?

চরম বিভ্রান্তি বাদ দিয়ে কেউ হয়তো জানতে পারে কেন গুরুদেখায় কোনও বিষয়বস্তু নেই এমন কমিটগুলি রয়েছে কেন তা সত্যই নয়।

আপনি যে প্রতিশ্রুতিটি রিমোটে ফেলেছিলেন তা আপনি পরিবর্তন করতে পারেন , তবে কমিটের sha1 (মূলত এটির আইডি নম্বর) স্থায়ীভাবে পরিবর্তিত হবে, যা উত্স ট্রিটিকে পরিবর্তিত করে - আপনাকে তখন git push -fরিমোটে ফিরে যেতে হবে।


15

যতক্ষণ আপনি খালি কমিট থেকে অন্য কমিটকে স্পষ্টভাবে উল্লেখ করেন ততক্ষণ এটি ঠিক হওয়া উচিত। কিছুটা এইরকম:

Commit message errata for [commit sha1]

[new commit message]

অন্যরা যেমন উল্লেখ করেছে যে, সংশোধন করে প্রতিশ্রুতিবদ্ধ হওয়াটিকে চাপ দেওয়া প্রায়শই ভাল।


12
 $ git commit --allow-empty -m "Trigger Build"

2
এই কোডটি কীভাবে এবং কেন এই সমস্যার সমাধান করে তার ব্যাখ্যা সহ প্রশ্নটি সমাধান করতে পারে যদিও আপনার পোস্টের গুণমান উন্নত করতে সত্যই সহায়তা করবে এবং সম্ভবত আরও বেশি ভোটের ফলাফল হবে। মনে রাখবেন যে আপনি ভবিষ্যতে পাঠকদের জন্য প্রশ্নের উত্তর দিচ্ছেন, কেবল এখন যে ব্যক্তি জিজ্ঞাসা করছেন তা নয়। দয়া করে সম্পাদনা ব্যাখ্যা যোগ করতে পারেন এবং সীমাবদ্ধতা এবং অনুমানের কি প্রয়োগ একটি ইঙ্গিত দিতে আপনার উত্তর। পর্যালোচনা থেকে
ডাবল-বীপ

-1

এই সম্পর্কে কি;

 git commit --allow-empty-message -m ''

আপনি কেবল বার্তাটি সরিয়ে ফেলেছেন এবং এটি আরও খারাপ করে তোলে যদি কোনও অঙ্গীকার খালি হয়ে যায় তবে কমপক্ষে একটি বার্তা থাকা উচিত be
এরিক বিশারদ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.