Uzak bir Git şubesini nasıl oluşturursunuz?

Yukarı akışa itmek istediğim yerel bir dal oluşturdum. Stack Overflow'da yeni oluşturulan bir uzak dalın nasıl izleneceğine dair benzer bir soru var.

Ancak benim iş akışım biraz farklı. İlk olarak yerel bir dal oluşturmak istiyorum ve bunu yalnızca memnun olduğumda ve dalımı paylaşmak istediğimde yukarı doğru iteceğim.

  • Bunu nasıl yaparım? (Google aramalarımda bir şey çıkmadı).
  • Meslektaşlarıma bunu yukarı akış deposundan çekmelerini nasıl söyleyebilirim?

GÜNCELLEME Git 2.0 ile daha basit bir cevap var Aşağıda yazdım: https://stackoverflow.com/a/27185855/109305

İlk olarak şubenizi yerel olarak oluşturursunuz:

git checkout -b  # Create a new branch and check it out

Uzak dal, uzak sunucuya ittiğinizde otomatik olarak oluşturulur. Yani kendinizi hazır hissettiğinizde bunu yapabilirsiniz:

git push   

Burada `tipik olarakorigin`dir, git'in klonladığınız remote'a verdiği isimdir. İş arkadaşlarınız daha sonra bu dalı çeker ve otomatik olarak yerel olarak oluşturulur.

Ancak resmi olarak formatın şu şekilde olduğunu unutmayın:

git push  :

Ancak birini atladığınızda, her iki dal adının da aynı olduğunu varsayar. Bunu söyledikten sonra, bir dikkat kelimesi olarak, sadece : (iki nokta üst üste ile) belirtmek gibi kritik bir hata yapmayın, aksi takdirde uzak dal silinecektir!

Böylece sonraki bir git pull ne yapacağını bilecektir, bunun yerine kullanmak isteyebilirsiniz:

git push --set-upstream   

Aşağıda açıklandığı gibi, --set-upstream seçeneği bir yukarı akış dalı kurar:

Güncel olan her şube için veya başarıyla itildi, yukarı akış ekleyin (izleme) referansı, tarafından kullanılan argümansız git-pull(1) ve diğer komutlar.

Yorumlar (29)

Öncelikle şubenizi yerel olarak oluşturmalısınız

git checkout -b your_branch

Bundan sonra, şubenizde yerel olarak çalışabilirsiniz, şubeyi paylaşmaya hazır olduğunuzda, itin. Bir sonraki komut dalı uzak depo kaynağına iter ve izler

git push -u origin your_branch

Takım arkadaşları yaparak şubenize ulaşabilir:

git fetch
git checkout origin/your_branch

Dalda çalışmaya devam edebilir ve git push'a argüman geçmeden istediğiniz zaman itebilirsiniz (argümansız git push master'ı uzak master'a, your_branch local'i uzak your_branch'a vb. itecektir).

git push

Ekip arkadaşlarınız değişiklik yaparak şubenize gönderebilir ve ardından açıkça gönderebilir

... work ...
git commit
... work ...
git commit
git push origin HEAD:refs/heads/your_branch

Veya git push argümanlarından kaçınmak için dalı izleme

git checkout --track -b your_branch origin/your_branch
... work ...
git commit
... work ...
git commit
git push
Yorumlar (0)

Önceki cevaplarda da belirtildiği gibi,

git push  :

yerel bir şubeyi itmek için yeterlidir.

İş arkadaşlarınız, bu komutla tüm uzak şubeleri (yenileri dahil) çekebilir:

git remote update

Ardından, şube üzerinde değişiklik yapmak için olağan akış:

git checkout -b  /
Yorumlar (0)