-
1. Početak
- 1.1 O kontroli verzije
- 1.2 Kratka istorija Gita
- 1.3 Osnove Gita
- 1.4 Komandna linija
- 1.5 Instaliranje Gita
- 1.6 Podešavanja za prvi put
- 1.7 Traženje pomoći
- 1.8 Rezime
-
2. Osnove Gita
- 2.1 Pravljenje Git repozitorijuma
- 2.2 Snimanje promena na repozitorijumu
- 2.3 Pregled istorije komitova
- 2.4 Opovrgavanje
- 2.5 Rad sa udaljenim repozitorijumima
- 2.6 Tagovanje
- 2.7 Alijasi
- 2.8 Rezime
-
3. Grananje u Gitu
- 3.1 Grananje ukratko
- 3.2 Osnove grananja i spajanja
- 3.3 Upravljanje granama
- 3.4 Tokovi rada sa grananjem
- 3.5 Udaljene grane
- 3.6 Rebaziranje
- 3.7 Rezime
-
4. Git on the Server
- 4.1 Protokoli
- 4.2 Postavljanje Gita na server
- 4.3 Generisanje javnog SSH ključa
- 4.4 Podešavanje servera
- 4.5 Git Daemon
- 4.6 Pametan HTTP
- 4.7 GitWeb
- 4.8 Opcije za hostovanje koje nude treća lica
- 4.9 Rezime
-
5. Distribuirani Git
- 5.1 Distribuirani tokovi rada
- 5.2 Kako doprineti projektu
- 5.3 Održavanje projekta
- 5.4 Rezime
-
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. Prilagođavanje Gita
- 8.1 Konfiguracija Gita
- 8.2 Git atributi
- 8.3 Git hukovi
- 8.4 Primer polise sprovedene od strane Gita
- 8.5 Rezime
-
9. Git i ostali sistemi
- 9.1 Git kao klijent
- 9.2 Migriranje na Git
- 9.3 Rezime
-
10. Git iznutra
- 10.1 Vodovod i porcelan
- 10.2 Git objekti
- 10.3 Git reference
- 10.4 Paketoteke
- 10.5 Refspek
- 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 Grananje u Gitu - Upravljanje granama
Upravljanje granama
Sada kada ste napravili, spojili i obrisali neke grane, hajde da pogledamo neke alate za upravljanje granama koje će postati korisni kada počnete da stalno koristite grane.
Komanda git branch
ima i druge namene pored toga što može da stvara i briše grane.
Ako je pokrenete bez opcija, dobićete jednostavnu listu sa trenutnim granama:
$ git branch
iss53
* master
testing
Obratite pažnju na zvezdicu koja se javlja ispred imena grane master
: to je indikator da je to grana koju ste trenutno čekautovali (tj. grana na koju pokazuje pokazivač HEAD
).
Ovo znači da, ako sada komitujete, grana master
će biti pomerena napred novim stvarima koje ste napravili.
Da biste videli poslednji komit na svakoj grani, možete pokrenuti 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
Korisne --merged
i --no-merged
opcije mogu da filtriraju listu na grane koje već jeste ili još uvek niste spojili u granu na kojoj se trenutno nalazite.
Da biste videli koje grane su već spojene u granu na kojoj ste sada, treba da pokrenete git branch --merged
:
$ git branch --merged
iss53
* master
Pošto ste se već spojili sa iss53
ranije, ta grana se nalazi na listi.
Grane na ovoj listi koje nemaju *
ispred sebe su u opštem slučaju spremne da budu obrisane sa git branch -d
; već ste ih pripojili drugoj grani, tako da nećete ništa da izgubite.
Da biste videli sve grane koje sadrže rad koji još uvek niste spojili, pokrenite komandu git branch --no-merged
:
$ git branch --no-merged
testing
Ovo prikazuje vašu drugu granu.
Zato što se na njoj nalazi rad koji još uvek nije spojen, pokušaj brisanja ove grane sa git branch -d
neće uspeti:
$ 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'.
Ako stvarno želite da obrišete tu granu i izgubite sav taj deo koda, možete da forsirate to sa -D
, kao što predlaže pomoćna poruka.