Bir DVCS'de her taahhütte bulunduğunuzda, teknik olarak tarihte bir dal yapıyorsunuz, onu geri entegre ettiğiniz mübarek depoya her geri ittiğinizde, ilginç kısım geliyor:
- Taahhüdünüz sırasında kimse değişiklik yapmazsa, DAG'daki bir şube gibi görünmeyecektir (yönlendirilmiş döngüsel grafik)
- Taahhüdünüz sırasında başka biri değişiklik yaptıysa, DAG'da yalnızca adsız bir şube gibi görünecektir
Bitbucket / github'daki "fork" düğmesini hatırlayın, çatallama dallanmanın eş anlamlısı olarak kabul edilebilir ve "fork" düğmesinin yaptığı şey, hesabınız için bu havuzun bir klonudur.
"Şubeye klonlamanın" tek avantajı, tarihin iki noktasında eşzamanlı olarak çalışabilmesidir ve ironik olarak iş arkadaşınız için, aynı anda farklı dallarda (ileri geri gitmek zorunda kalmadan) çalışmak için yaygın bir iş akışıdır. ).
Öğrenmek için iş arkadaşınız söyle dalı , çok kolay bir öğretici var, burada,:
D:\>mkdir lol
D:\>cd lol
D:\lol>hg init
D:\lol>hg branch
default
D:\lol>touch lol
D:\lol>hg add lol
D:\lol>hg commit -m "lol"
D:\lol>hg branch lol
marked working directory as branch lol
(branches are permanent and global, did you want a bookmark?)
D:\lol>hg branches
default 0:35d562fafaf2
D:\lol>echo "lol" > lol
D:\lol>hg commit -m "New lol branch"
D:\lol>hg branches
lol 1:9384f923e78d
default 0:35d562fafaf2 (inactive)
D:\lol>hg branch
lol
D:\lol>hg update default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
D:\lol>hg branch
default
D:\lol>hg update lol
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
D:\lol>hg branch
lol
D:\lol>hg update default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
D:\lol>hg branch
default
D:\lol>hg merge lol
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
D:\lol>hg commit -m "lol merge"
D:\lol>hg branch
default
D:\lol>hg update lol
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
D:\lol>hg branch
lol
"Şubeye klonlama" , aynı anda farklı dallarda çalışırken veya geçmişte kalıcı bir dal oluşturmadan bir denemeyi denemek istediğinizde ve yine de zaten var olan bir şubeye entegre edebileceğinizde mantıklıdır .
Şahsen bu uygulamayı sevmiyorum ve gerektiğinde şubeler yapmayı ve kapatmayı tercih ediyorum. İşte, bunu nasıl yaparsınız:
D:\lol>hg branches
default 2:46420aca1612
lol 1:9384f923e78d (inactive)
D:\lol>hg branch
lol
D:\lol>hg commit --close-branch -m "Obai, glorious lol branch"
D:\lol>hg branches
default 2:46420aca1612
D:\lol>hg branch
lol
D:\lol>hg update default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
D:\lol>hg branches
default 2:46420aca1612
D:\lol>hg branches --closed
default 2:46420aca1612
lol 3:4b79c577e029 (closed)
Umarım bu DVCS dallanma şüphelerinizi temizler, burada dallar artık korkutucu değil.