Fa-git-git-managing-branches
Git-مدیریتBranchها
支社 میمیتوانیمازاینامکانبرایایجاددوجهتمختلفبرایتوسعهکدهااستفادهکنیم。 برایمثالمانسخه6امرامنتشرکردهایموحالامیتوانیمیکbranchبرایتوسعهنسخهویکهمباریااااللاباالالاباالاماللالابالالاماللامالساماللمااللمالسbug
ایجاد支店
Tomیکbranchجدیدبااستفادهازgit branch <ブランチ名>ایجادمیکند。 مامیتوانیمداخلیکブランチ、ブランチجدیدیایجادکنیم。 میتوانیمازیکcommitخاصیایکタグبهعنواننقطهشروعاستفادهکنیم。 اگریکcommitخاصراانتخابنکنیمブランチازヘッドポインターبهعنواننقطهشروعاستفادهمیکند
ブランチブランチトムトムازدستورgitブランチبرایلیستکردنブランチهایموجوداستفادهمیکند。 دستورgit showقبلازدستورgit checkoutنقطهفعلیرانشانهدارمیکند
درزیرنمایشتصویریایجادブランチآوردهشدهاست:
تغییرブランチ
Jerryازgit checkoutبرایتغییرブランチاستفادهمیکند
میانبربرایایجادوانتخابブランチ
درمثالبالاماازدودستوربرایایجادوانتخابbranchاستفادهکردیم。 gitباgit checkout* -b *علاوهبرایجادbranchآنراانتخابهممیکند
پاککردن支店
یکbranchرابااستفادهازgit branch -dمیتوانیمپاکینیم。 اماباپاککردنیکbranchبهیکbranchدیگرمنتقلمیشویم。
ジェリー・アーシュラ test_branch アーサー・マサチューセッツمیخواهدآنراپاککند。 بنابراینابتداbranchراتغییرمیدهدسپسآنراپاکمیکند
حالافقطدوbranchمیبینیم
تغییرنام支店
Jerryتصمیمگرفتکهیکپشتیبانبرایワイド文字درپروژه文字列هاایجادکند。 اویکブランチجدیدایجادکردهبودکهنامشمناسبنبود。 بنابرایناوبادستورهای*古いブランチ名-m *、*新しいブランチ名-m *اینکارراانجاممیدهد
درحالحاضر、دستورشعبهدستگاهگوارشخواهدشدبهنامشعبهجدیدنشانمیدهد。
متصلکردندو支店
Jerryیکتابعبرایبازگرداندنطولیکرشتهبرایワイドキャラクターنوشتهاست、کدجدیدبهشکلزیراست
دستوراتبالانتایجزیررادربرخواهندداشت:
بعدازتستکردنcommitوتغییراتراpushمیکند:
ジェリー・アーシュリー・ジェリー・アーシュラ・シュトラール・シュトラール・ブランチ・ブリュック・デシュ・プッシュプッシュ・アーリー・シュリー・シュリー・シュシュ・アーシュ・シュリー・シュリー・シュリー・シュリー
دستوراتبالانتایجزیررادربرخواهندداشت:
بعدازcommitکردنتغییراتدرブランチ、ブランチجدیدبهشکلزیردرخواهدآمد
TomکنجکاواستکهببیندJerryدر wchar_support چهکارمیکندبنابراینازgit logاستفادهمیکند
دستوراتبالانتایجزیررادربرخواهندداشت:
بامطالعهپیامهایcommitهاTomمتوجهتابعstrlenمیشود、اومیخواهداینتابعرادرマスターブランチداشتهباشد。 اوتصمیممیگیردکدJerryراباmergeکردندرマスターブランチداشتهباشد
بعدازmergeکردنマスターブランチمانندشکلزیرمیشود
دستوراتبالانتایجزیررادربرخواهندداشت:
اوبعدازتستکردنتغییرات、آنهارابهoush、bramch masterمیکند
ブランチのリベース
دستور、git repaseدستورmergeبرایbranchهاستاماتفاوتشایناستکهباتوجهبهcommitهادستکاریراانجاممیدهد。
Gitマージ、コミットブランチブランチبهبالایヘッドポインターمتعلقبهブランチمقصدمنتقلوmergeمیکند。 برایمثالدرブランチمحلیماcommitهارابهترتیبزیرداریمA→ B→ C→ DブランチبهترتیبزیرتبدیلمیکندA→ B→ C→ D→ X→ Yدستورgit rebaseباتوجهبهاشتراکهایcommitهایقبلید→ B→ B→ B→ B→ B→> −> X−> Yراباهمادغاممیکند、ونتیجهچیزیشبیهترتیبزیرمیشودA−> B−> X−> Y−> C−> D
هنگامیکهچندبرنامهنویسروییکリモートリポジトリکارمیکنند、نمیتوانیمترتیبコミットهارادستکاریکنیم、بنابراینبهتراستازリベースاستفادهکنیمتاتغییراتبهانتهایهایقبلیاضافهشودコミット