আপনি যদি নিশ্চিত হতে চান যে (একক প্রতিশ্রুতি) প্যাচটি একটি নির্দিষ্ট কমিটের উপরে প্রয়োগ করা হবে, আপনি নতুন গিট ২.৯ (জুন ২০১)) বিকল্পটি ব্যবহার করতে পারেন git format-patch --base
git format-patch --base=COMMIT_VALUE~ -M -C COMMIT_VALUE~..COMMIT_VALUE
# or
git format-patch --base=auto -M -C COMMIT_VALUE~..COMMIT_VALUE
# or
git config format.useAutoBase true
git format-patch -M -C COMMIT_VALUE~..COMMIT_VALUE
দেখুন কমিট bb52995 , 3de6651 কমিট , কমিট fa2ab86 , কমিট ded2c09 (26 এপ্রিল 2016) দ্বারা Xiaolong তোমরা ( ``) ।
(দ্বারা একীভূত junio সি Hamano - gitster
- মধ্যে 72ce3ff কমিট , 23 মে 2016)
format-patch
: --base
বেস ট্রি তথ্য রেকর্ড করতে বিকল্প যোগ করুন '
রক্ষণাবেক্ষণকারী বা তৃতীয় পক্ষের পরীক্ষকরা প্যাচ সিরিজটি সঠিক ভিত্তি গাছের ক্ষেত্রে প্রযোজ্য তা জানতে চাইতে পারেন। গিট ফর্ম্যাট-প্যাচ একটি শিখান--base
বেস ট্রি সম্পর্কিত তথ্য রেকর্ড করার জন্য ' বিকল্পটি এবং এটি প্রথম বার্তাটির শেষে (কভার লেটার বা সিরিজের প্রথম প্যাচ) যুক্ত করুন।
বেস ট্রি তথ্য "বেস কমিট" নিয়ে গঠিত, এটি একটি সুপরিচিত প্রতিশ্রুতি যা প্রকল্পের ইতিহাসের স্থিতিশীল অংশের অংশ অন্য প্রত্যেকে কাজ করে এবং শূন্য বা আরও বেশি "পূর্বশর্ত", যা সুপরিচিত প্যাচগুলি প্রয়োগ করার আগে টপোলজিক্যাল ক্রমে "বেস কমিট" এর শীর্ষে প্রয়োগ করা দরকার এমন "বেস কমিট" এর অংশ নয় এমন ফ্লাইটে থাকা প্যাচগুলি।
"বেস কমিট" base-commit:
কমিট অবজেক্ট নামের 40-হেক্স অনুসরণ করে " " হিসাবে প্রদর্শিত হয় ।
একটি "পূর্বশর্ত প্যাচ" prerequisite-patch-id:
40-হেক্স "প্যাচ আইডি" এর পরে " " হিসাবে দেখানো হয় , যা git patch-id --stable
কমান্ডের মাধ্যমে প্যাচ পাস করে প্রাপ্ত "" হতে পারে ।
গিট 2.23 (Q3 2019) এটির উন্নতি করবে, কারণ " --base
" " " বিকল্পটি অস্থির উপায়ের পূর্বশর্ত প্যাচগুলির জন্য format-patch
গণনা করেছিল patch-ids
, যা " git patch-id --stable
" এর সাথে সামঞ্জস্যপূর্ণ এমনভাবে গণনা করার জন্য আপডেট করা হয়েছে ।
প্রতিশ্রুতিবদ্ধ a8f6855 দেখুন , স্টিফেন বয়ড ( ) দ্বারা 6f93d26 (26 এপ্রিল 2019 ) প্রতিশ্রুতিবদ্ধ । (দ্বারা একীভূত junio সি Hamano - - মধ্যে কমিট 8202d12 , 13 জুন 2019)akshayka
gitster
format-patch
: --base patch-id
আউটপুট স্থিতিশীল করা
প্রতিবার আমরা patch-id
প্রজন্মের কোডটিতে কোনও কুঁচকে প্রক্রিয়াজাতকরণের সময় আমরা প্রসঙ্গটি ফ্লাশ করছি
না diff.c
, তবে আমরা যখন ' patch-id
' সরঞ্জামটি দিয়ে "স্থিতিশীল" প্যাচ-আইডি তৈরি করি তখন আমরা তা করছিলাম ।
আসুন বন্দর অনুরূপ যুক্তিবিজ্ঞান থেকে patch-id.c
মধ্যে diff.c
তাই আমরা একই হ্যাশ পেতে পারেন যখন 'এর জন্য করছি উৎপাদিত প্যাচ-আইডিগুলি format-patch --base=
' কম্যান্ড আমন্ত্রণ ধরনের।
গিট 2.24 (Q4 2019) এর আগে " git format-patch -o <outdir>
" " mkdir <outdir>
" " " নয় " mkdir -p <outdir>
" এর সমতুল্য কাজ করেছিল , যা সংশোধন করা হচ্ছে।
দেখুন কমিট edefc31 (11 অক্টোবর 2019) দ্বারা বার্ট Wesarg ( bertwesarg
) ।
(দ্বারা একীভূত junio সি Hamano - gitster
- মধ্যে কমিট f1afbb0 , 18 অক্টোবর 2019)
format-patch
: আউটপুট ডিরেক্টরি এর নেতৃস্থানীয় উপাদান তৈরি
সাইন-অফ-বাই: বার্ট ওয়েসার্গ
'git format-patch -o' 'mkdir' এর সমতুল্য 'mkdir -p' করেনি, যা সংশোধন করা হচ্ছে।
adjust_shared_perm
সুরক্ষিত প্রভাব থাকতে পারে এমন নেতৃস্থানীয় ডিরেক্টরিতে ' ' এর ব্যবহার এড়িয়ে চলুন । সাময়িকভাবে ' config.sharedRepository
' লাইক ' git init
' এর অক্ষম করে প্রাপ্ত হয়েছে।
গিট 2.25 (কিউ 12020) সহ, " git rebase
" কখন কার্যকর হয়নিformat.useAutoBase
কনফিগারেশন ভেরিয়েবল সেট করা থাকলে , যা সংশোধন করা হয়েছে।
দেখুন cae0bc0 কমিট , 945dc55 কমিট , 700e006 কমিট , a749d01 কমিট , কমিট 0c47e06 দ্বারা (04 ডিসেম্বর 2019) ডেন্টন লিউ ( Denton-L
) ।
(দ্বারা একীভূত junio সি Hamano - gitster
- মধ্যে কমিট 71a7de7 , 16 ডিসেম্বর 2019)
rebase
: ঠিকঠাক format.useAutoBase
বিরতি
রিপোর্ট-বাই: ক্রিশ্চান বিসিঞ্জার
সাইন-অফ-বাই: ডেন্টন লিউ
এর সাথে format.useAutoBase = true
, রিবেস চালানোর ফলে ত্রুটির সৃষ্টি হয়েছিল:
fatal: failed to get upstream, if you want to record base commit automatically,
please use git branch --set-upstream-to to track a remote branch.
Or you could specify base commit by --base=<base-commit-id> manually
error:
git encountered an error while preparing the patches to replay
these revisions:
ede2467cdedc63784887b587a61c36b7850ebfac..d8f581194799ae29bf5fa72a98cbae98a1198b12
As a result, git cannot rebase them.
--no-base
রিবেস থেকে সর্বদা ফরম্যাট-প্যাচে পাস করে এটিকে ঠিক করুন যাতে এর প্রভাবformat.useAutoBase
উপেক্ষিত হয়।
git apply --stat file.patch
# পরিসংখ্যান প্রদর্শন করুন।git apply --check file.patch
# আবেদনের আগে ত্রুটি পরীক্ষা করুন।git am < file.patch
# প্যাচটি অবশেষে প্রয়োগ করুন।