Staging area değişen dosyaların sıraya alındığı bölümdür. Ama bu bölüm sadece yereldedir. Yani git add komutuyla eklediğiniz dosyalar githuba eklenmez. Bunun için git commit ve git push komutunu vermelisiniz. Eğer pull request ile çalışacaksanız başkalarını repoya eklemenize gerek yok. Tabii isterseniz eklersiniz fark etmiyor.
Tam olarak olmasa da (a) seçeneği izlemeniz gereken yol. Adım adım:
1-) pull request gönderilir.
2-) Gelen pull requestte yapmanız gereken işlemler gösterilir. Eğer git pull derseniz çakışmaları görmezden gelip gelen pull requesti direk birleştirir. Ama önce git fetch ile pull requesti yerel depoya ekleyip çakışmaları çözdükten sonra birleştirirseniz daha iyi olur. Yoksa program uçabilir.
3-)fetch komutuyla çektiğinizde değişiklikler direk master brancha gelmezler. Başka bir brancha yerleştirilirler. Sonra bu iki branch merge komutuyla birleştirilir. Yani:
a-) X deposu ana depodur. Y ve Z forklanmış halidir.
b-) Y deposu pullrequest gönderir.
c-) X deposu gelen pull requesti fetch ile yerel depoya çeker(Henüz githubtaki depoyu etkilememiştir) Sonra master branch ile pull requesti çektiğimiz branch karşılaştırılır, çakışmalar kontrol edilir, gerekirse düzenlemeler yapılır. İşlemler bittikten sonra hazır hale geldiği düşünülüyorsa bu branch master branch ile birleştirilir.(merge)
d-) Eğer gerekliyse git add komutuyla dosyalar eklenir, sonra bilindik git commit ve git push ile birleştirilmiş X deposu githuba gönderilir. İsterse Y deposu yeni depoyu çekip senkronize edebilir istemezse de sorun değil.
e-) X deposu Y deposundan aldığı değişiklikler ile yoluna devam eder.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]