-
1. شروع به کار
- 1.1 دربارهٔ کنترل نسخه
- 1.2 تاریخچهٔ کوتاهی از گیت
- 1.3 گیت چیست؟
- 1.4 خط فرمان
- 1.5 نصب گیت
- 1.6 اولین راهاندازی گیت
- 1.7 کمک گرفتن
- 1.8 خلاصه
-
2. مقدمات گیت
- 2.1 دستیابی به یک مخزن گیت
- 2.2 ثبت تغییرات در مخزن
- 2.3 دیدن تاریخچهٔ کامیتها
- 2.4 بازگردانی کارها
- 2.5 کار با ریموتها
- 2.6 برچسبگذاری
- 2.7 نامهای مستعار در گیت
- 2.8 خلاصه
-
3. شاخهسازی در گیت
- 3.1 شاخهها در یک کلمه
- 3.2 شاخهسازی و ادغام مقدماتی
- 3.3 مدیریت شاخه
- 3.4 روند کاری شاخهسازی
- 3.5 شاخههای ریموت
- 3.6 ریبیسکردن
- 3.7 خلاصه
-
4. گیت روی سرور
- 4.1 پروتکلها
- 4.2 راهاندازی گیت در سرور
- 4.3 ساختن کلید عمومی SSH
- 4.4 نصب و راهاندازی سرور
- 4.5 دیمن گیت
- 4.6 HTTP هوشمند
- 4.7 گیتوب
- 4.8 گیتلب
- 4.9 گزینههای شخصی ثالث میزبانی شده
- 4.10 خلاصه
-
5. گیت توزیعشده
- 5.1 روندهای کاری توزیعشده
- 5.2 مشارکت در یک پروژه
- 5.3 نگهداری یک پروژه
- 5.4 خلاصه
-
6. GitHub
-
7. Git Tools
- 7.1 Revision Selection
- 7.2 Interactive Staging
- 7.3 Stashing and Cleaning
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Rewriting History
- 7.7 Reset Demystified
- 7.8 Advanced Merging
- 7.9 Rerere
- 7.10 Debugging with Git
- 7.11 Submodules
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 Summary
-
8. Customizing Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Summary
-
9. Git and Other Systems
- 9.1 Git as a Client
- 9.2 Migrating to Git
- 9.3 Summary
-
10. Git Internals
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Summary
-
A1. پیوست A: Git in Other Environments
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Visual Studio Code
- A1.4 Git in Eclipse
- A1.5 Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.6 Git in Sublime Text
- A1.7 Git in Bash
- A1.8 Git in Zsh
- A1.9 Git in PowerShell
- A1.10 Summary
-
A2. پیوست B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. پیوست C: Git Commands
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
3.3 شاخهسازی در گیت - مدیریت شاخه
مدیریت شاخه
حال که چند برنچ ساختهاید، مرج و پاک کردهاید، بیاید نگاهی به چند ابزار مدیریت برنچ بیندازیم که وقتی شروع به استفادهٔ مادام از برنچها کردید به کارتان میآید.
دستور git branch
بیشتر از ساختن و نابود کردن برنچها به کار میآید.
اگر بدون هیچ آرگومانی آنرا اجرا کنید، یک لیست ساده از برنچهای حاضر پروژه را به شما نمایش میدهد:
$ git branch
iss53
* master
testing
به علامت *
که پیش از برنچ master
میآید توجه کنید: این علامت نشاندهندهٔ برنچی است که چکاوت کردهاید (به بیان دیگر برنچی که HEAD
به آن اشاره دارد).
این بدان معناست که اگر الآن کامیتی بگیرید، برنچ master
با کار جدید شما به جلو خواهد رفت.
برای دیدن آخرین کامیت هر برنچ میتوانید git branch -v
را اجرا کنید:
$ git branch -v
iss53 93b412c Fix javascript issue
* master 7a98805 Merge branch 'iss53'
testing 782fd34 Add scott to the author list in the readme
آپشنهای پرکاربرد --merged
و --no-merged
میتوانند این لیست را به برنچهایی که هنوز به برنچ حاضر مرجکرده یا نکردهاید محدود کند.
برای اطلاع از اینکه چه برنچی با برنچ حاضر مرجشده است میتوانید دستور git branch --merged
را اجرا کنید:
$ git branch --merged
iss53
* master
به این دلیل که شما سابقاً با iss53
مرج شدهاید آنرا در این لیست مشاهده میکنید.
برنچهایی در این لیست که مقابلشان *
ندارد، غالباً میتوانند بیمشکل با git branch -d
پاک شوند؛ شما قبلتر آنها را درون برنچی دیگر ریختهاید پس با پاک کردنشان چیزی را از دست نخواهید داد.
برای مشاهده تمام برنچهایی که شامل کارهایی هستند که هنوز مرجشان نکردهاید، میتوانید git branch --no-merged
را اجرا کنید:
$ git branch --no-merged
testing
این دستور برنچ دیگر شما را نشان میدهد.
به این دلیل که شامل کاری است که هنوز مرج نکردهاید، تلاش برای پاک کردن آن با git branch -d
شکست خواهد خورد:
$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.
اگر واقعاً میخواهیدی که آنرا پاک کنید و کار خود را از دست بدهید میتوانید با -D
آنرا به گیت تحمیل کنید، همانطور پیغام مفید بالا به آن اشاره میکند.
نکته
|
آپشنهایی که بالا توضیح داده شدند، همیشه میتوانید یک آرگومان اضافه برای درخواست وضعیت مرج به نسبت برنچی خاص را وارد دستور کنید بدون آنکه بخواهید روی آن برنچ چکاوت کنید،
مثلاً چه برنچی با برنچ
|