আমার কাছে দুটি গিট স্থানীয় সংগ্রহস্থল উভয় একই দূরবর্তী সংগ্রহস্থলের দিকে নির্দেশ করছে।
একটি গিট ভাণ্ডারে, আমি যদি করি, তবে আমি git format-patch 1
কীভাবে অন্য প্যাকেজগুলিতে সেই প্যাচটি প্রয়োগ করতে পারি?
আমার কাছে দুটি গিট স্থানীয় সংগ্রহস্থল উভয় একই দূরবর্তী সংগ্রহস্থলের দিকে নির্দেশ করছে।
একটি গিট ভাণ্ডারে, আমি যদি করি, তবে আমি git format-patch 1
কীভাবে অন্য প্যাকেজগুলিতে সেই প্যাচটি প্রয়োগ করতে পারি?
উত্তর:
দ্রষ্টব্য: আপনার প্যাচটি কী করবে তা আপনি প্রথমে প্রাকদর্শন করতে পারেন:
প্রথম পরিসংখ্যান:
git apply --stat a_file.patch
তারপরে ত্রুটিগুলি সনাক্ত করার জন্য একটি শুকনো রান:
git apply --check a_file.patch
অবশেষে, আপনি git am
আপনার প্যাচটি প্রতিশ্রুতি হিসাবে প্রয়োগ করতে ব্যবহার করতে পারেন: এটি আপনাকে একটি প্রয়োগিত প্যাচ সাইন অফ করার অনুমতি দেয়।
এটি পরবর্তী রেফারেন্সের জন্য দরকারী হতে পারে।
git am --signoff < a_file.patch
এই নিবন্ধে একটি উদাহরণ দেখুন :
আপনার গিট লগে, আপনি দেখতে পাবেন যে প্রতিশ্রুতিবদ্ধ বার্তাগুলিতে একটি "সাইন-অফ বাই" ট্যাগ রয়েছে। এই ট্যাগটি গিথুব এবং অন্যরা পড়তে হবে কোডটিতে কমিটগুলি কীভাবে শেষ হয়েছিল সে সম্পর্কে দরকারী তথ্য সরবরাহ করার জন্য।
git am < somepatch.patch
"মারাত্মক: খালি পরিচয় নাম (<> এর জন্য) অনুমোদিত নয়" ফল দেয়। কেউ আমাকে বোঝাতে পারেন কেন?
Author
শিরোনাম, এবং / অথবা আপনি করেন নি git config user.{name,email}
।
git apply --check
বলে patch does not apply
, এবং git apply -3
বলে repository lacks the necessary blob to fall back on 3-way merge.
গিট-এ, কমিটসকে রিবাইজ করা এমন বাতাস; তবে কীভাবে লোকেরা আপডেট কোডের উপরে তাদের প্যাচগুলি পুনর্বাসিত করবে ?
git apply name-of-file.patch
বা, যদি আপনি এটি পুরাতন স্কুলটিকে লাথি মারছেন:
cd /path/to/other/repository
patch -p1 < 0001-whatever.patch
প্রথম আপনার সম্পর্কে একটি নোট গ্রহণ করা উচিত পার্থক্য মধ্যেgit am
এবং এরgit apply
আপনি যখন ব্যবহার করছেন তখন git am
সাধারণত অনেকগুলি প্যাচ প্রয়োগ করতে চান। এইভাবে ব্যবহার করা উচিত:
git am *.patch
বা শুধু:
git am
গিট প্যাচগুলি স্বয়ংক্রিয়ভাবে সন্ধান করবে এবং সেগুলি যথাযথভাবে প্রয়োগ করবে ;-)
ইউপিডি
এখানে আপনি কীভাবে এই জাতীয় প্যাচ তৈরি করতে পারেন তা জানতে পারেন
git apply
.. এবং এতে --reverse
:-) 👍
যদি আপনি এটি প্রতিশ্রুতিবদ্ধ হিসাবে প্রয়োগ করতে চান তবে গিট অ্যাম ব্যবহার করুন ।
আপনি যদি জেটব্রেইনস আইডিই ব্যবহার করছেন (যেমন ইন্টেলিজ আইডিইএ, অ্যান্ড্রয়েড স্টুডিও, পাইচার্ম), আপনি প্যাচ ফাইলটি টানতে এবং আইডিই এর ভিতরে ফেলে দিতে পারেন এবং প্যাচের সামগ্রী দেখিয়ে একটি ডায়ালগ উপস্থিত হবে। আপনাকে এখন যা করতে হবে তা হ'ল "প্যাচ প্রয়োগ করুন" ক্লিক করুন এবং একটি প্রতিশ্রুতি তৈরি করা হবে।
আপনি নীচে উল্লিখিত সিএমডি ব্যবহার করতে পারেন
git apply fileName.patch