-
1. Иш бошланиши
- 1.1 Талқинларни бошқариш ҳақида
- 1.2 Git нинг қисқача тарихи
- 1.3 Git асоси
- 1.4 Командалар сатри
- 1.5 Git ни ўрнатиш
- 1.6 Git да биринчи созлашлар
- 1.7 Қандай ёрдам олиш мумкин?
- 1.8 Хулосалар
-
2. Git асослари
-
3. Git да тармоқланиш
-
4. Git серверда
- 4.1 The Protocols
- 4.2 Getting Git on a Server
- 4.3 Sizning SSH ochiq (public) kalitingizni generatsiyalash
- 4.4 Setting Up the Server
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Third Party Hosted Options
- 4.10 Хулосалар
-
5. Distributed Git
- 5.1 Distributed Workflows
- 5.2 Contributing to a Project
- 5.3 Maintaining a Project
- 5.4 Summary
-
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 Qism modullar (Submodule)
- 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. Appendix A: Git in Other Environments
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Eclipse
- A1.4 Git in Bash
- A1.5 Git in Zsh
- A1.6 Git in Powershell
- A1.7 Summary
-
A2. Appendix B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
-
A3. Appendix 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 да тармоқланиш - Тармоқларни бошқариш
Тармоқларни бошқариш
Сиз тармоқларни яратишни, бирлаштиришни, ўчиришни машқ қилиб кўрдингиз. Энди сизга тармоқлар билан доимий ишлаганингизда ас қотадиган тармоқларни бошқаришда ишлатиладиган ускуналар билан танишиш вақти етиб келди.
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 readmes
Яна бир фойдали имкониятлардан бири ҳисобланган тармоқларни рўйҳатида сиз турган тармоққа бирлаштирилганларини ёки бирлаштирилмаганларини қолдиришни таминловчи опциялар бор.
Улар --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
опцияси ёрдамида бажаришингиз мумкин.