වත්මන් ශාඛාවට නිශ්චිත බැඳීමකින් වෙනස්කම් ක්රියාත්මක කරන්නේ කෙසේද යන්න ප්රමුඛ පිළිතුරු විස්තර කරයි . "ඒකාබද්ධ කරන්නේ කෙසේද" යන්නෙන් ඔබ අදහස් කරන්නේ එය නම්, ඔවුන් යෝජනා කරන පරිදි චෙරි-පික් භාවිතා කරන්න.
නමුත් ඔබට ඇත්ත වශයෙන්ම ඒකාබද්ධ කිරීමක් අවශ්ය නම් , එනම් ඔබට දෙමව්පියන් දෙදෙනෙකු සමඟ නව බැඳීමක් අවශ්යය - වර්තමාන ශාඛාවේ දැනට පවතින කැපවීම සහ වෙනස්කම් ක්රියාත්මක කිරීමට ඔබට අවශ්ය කැපවීම - එවිට චෙරි පික් එකක් එය ඉටු නොකරනු ඇත.
සත්ය ඒකාබද්ධ කිරීමේ ඉතිහාසය තිබීම යෝග්ය විය හැකිය, නිදසුනක් ලෙස, නවතම ටැගය (භාවිතා කිරීම git describe
) මත පදනම්ව අනුවාද නූල් ස්වයංක්රීයව සැකසීමට ඔබේ ගොඩනැගීමේ ක්රියාවලිය git පරම්පරාවෙන් ප්රයෝජන ගන්නේ නම් .
චෙරි-පික් වෙනුවට ඔබට සත්යයක් කළ හැකි git merge --no-commit
අතර පසුව ඔබට අවශ්ය නොවන වෙනස්කම් ඉවත් කිරීම සඳහා දර්ශකය අතින් සකස් කරන්න.
ඔබ ශාඛාවක සිටින අතර ශාඛාවේ A
කෙළවරේ ඇති බැඳීම ඒකාබද්ධ කිරීමට ඔබට අවශ්ය යැයි සිතමු B
:
git checkout A
git merge --no-commit B
දැන් ඔබ දෙමව්පියන් දෙදෙනෙකු සමඟ බැඳීමක් ඇති කිරීමට සූදානම්ව සිටින අතර, වර්තමාන ඉඟිය A
සහ B
. කෙසේ වෙතත්, ඔබට B ශාඛාවේ කලින් කළ වෙනස්කම් ඇතුළුව ඔබට අවශ්ය ප්රමාණයට වඩා වැඩි වෙනස්කම් ප්රමාණයක් යෙදිය හැකිය. ඔබට මෙම අනවශ්ය වෙනස්කම් අහෝසි කිරීමට අවශ්යය.
(වැඩකරන නාමාවලියෙහි තත්වය සහ දර්ශකය ඒකාබද්ධ වීමට පෙර තිබූ ආකාරයට නැවත සැකසීමට පහසු ක්රමයක් තිබිය හැකිය, එවිට ඔබට පිරිසිදු ස්ලයිට් එකක් ඇති අතර එමඟින් ඔබට අවශ්ය කැපවීම මුලින්ම තෝරා ගත හැකිය. නමුත්. මම පිරිසිදු වදින සසප අපේක්ෂක සාක්ෂාත් කරන ආකාරය දන්නේ නැහැ. git checkout HEAD
හා git reset HEAD
දෙකම මෙම ක්රමය අරමුණ පරාජය, මුසුව රාජ්ය ඉවත් කරනු ඇත.)
එබැවින් අනවශ්ය වෙනස්කම් අතින් අහෝසි කරන්න. උදාහරණයක් ලෙස, ඔබට හැකි විය
git revert --no-commit 012ea56
එක් එක් අනවශ්ය කැපවීම සඳහා 012ea56
.
ඔබ දේවල් සකස් කිරීම අවසන් කළ පසු, ඔබේ කැපවීම සාදන්න:
git commit -m "Merge in commit 823749a from B which tweaked the timeout code"
දැන් ඔබට ඇත්තේ ඔබට අවශ්ය වෙනස පමණක් වන අතර, ඔබ බී වෙතින් තාක්ෂණිකව ඒකාබද්ධ වූ බව මුතුන් මිත්තන්ගේ ගස පෙන්වයි.