SORU
19 Kasım 2009, PERŞEMBE


Olmayan çıplak Git deposu bas

Ben genelde Git deposu var ssh ile uzak sunucu (ekran ve vim) üzerinde çalışmak. Bazen online değilim, ayrı bir depo (benim uzak klonlanmış) benim laptop var.

Ancak, genellikle bir güvenlik duvarı arkasında olduğum için uzak tarafında bu deposundan çekemiyorum ya da toplu bir IP yok.

Sadece çıplak bir depo basmam gerektiğini okudum. Ne kadar uzak benim depoya yaptığım değişiklikler ilerlemeli miyim?

CEVAP
19 Kasım 2009, PERŞEMBE


En İyi Seçenek

Muhtemelen, en kafa karıştırıcı, en temiz ve en güvenli yolu olmayan çıplak uzak depo içine itmek için dizüstü dallarını temsil eden uzak ayrılmış dalları için itmek için.

Hadi en basit durumda bir bak, ve her repo sadece bir şube varsayalım: ana. Dizüstü bilgisayarınızdan uzak repo bastığınızda, ana itmek yerine ->ana, ana - ^ itin . laptop-usta (veya benzer bir isim). Bu şekilde itme şu anda kullanıma uzak repo ana şube etkilemez. Dizüstü bilgisayardan bunu yapmak için, komut oldukça basittir:

git push origin master:laptop-master

Bu yerel ana şube şubesine adlı ertelenecek "laptop-master" uzak depodaki demektir. Uzaktan, repo, yeni bir şube "" o zaman hazır olduğunuzda uzak ustan içine birleştirebilirsiniz. laptop-usta adında olacak

Alternatif Seçenek

Aynı zamanda sadece ana - ^ itmek için . üstad, ama şu anda teslim olmayan çıplak bir repo Şubesi için bastırıyor genellikle ne olup bittiğini anlamıyorsun bile kafa karıştırıcı olabilir, çünkü bu tavsiye edilmez. Çünkü bu itmek için bir teslim alınmış şube gelmez güncelleme çalışmaları ağaç, bu yüzden kontrol git status teslim alınmış şube oldu içine itti gösterir tam tersi farklılıklar olarak ne oldu en son itti. Eğer iş ağaç bu tavsiye edilmez neden büyük bir nedenidir itme yapıldı önce kirli ise, özellikle kafa karıştırıcı.

Eğer sadece ana itme denemek istiyorsanız ->usta, o zaman bu komut sadece:

git push origin

Ama uzaktan repo, geri git, büyük ihtimalle git reset --hard HEAD itti içerik ile senkronize çalışması ağacı almak için yapmak isteyeceksiniz.Bu tehlikeli olabilireğer herhangi eğer orada çünkükaydedilmemişonları silip devam etmek istediğini uzaktan çalışma ağacında değişiklikler. Bunu denemeden önce bunun sonuçları ne bildiğinizden emin olun, ya da en azından bir yedek ilk olun!

EDİT"Dağıtılmaya bas" git push: https://github.com/blog/1957-git-2-3-has-been-released. kullanabilirsiniz 2.3, Git beri Ama ayrı bir şube için bastırıyor ve sonra birleştirme bir gerçek birleştirme (birleştirme gibi dolayısıyla kaydedilmemiş değişiklikler ile çalışır) geliyor çünkü genellikle daha iyidir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bcbauer

    bcbauer

    7 ŞUBAT 2007
  • ehowhome

    ehowhome

    22 NİSAN 2009
  • UCBerkeley

    UCBerkeley

    3 Mayıs 2006