SORU
3 EYLÜL 2010, Cuma


'arasında " fark;git reset" ve "çıkış" git;?

Her zaman belirli bir tamamlama için tekrar proje getirin anlamda aynı git reset git checkout düşünmüşümdür. Ancak, gereksiz olurdu tam olarak aynı olabilir mi hissediyorum. İkisi arasındaki gerçek fark nedir? Biraz kafam karıştı, svn sadece svn co taahhüt dönmek gibi.

EKLENDİ

following diagram fark, muhtemelen basitleştirilmiş ya da yanlış bir şekilde de olsa açıklıyor. Ne düşünüyorsun? Yanlış ya da aşırı basitleştirilmiş.

http://a.imageshack.us/img192/5440/screenshot20100903at416.png

EKLENEN 2

VonC ve Charles çok iyi git reset git checkout arasındaki farkları anlattı. Benim şimdiki anlayış git reset belirli bir taahhüt için geri tüm değişiklikleri döner, git checkout Daha fazla veya daha az bir şube için hazırlar oysa. Aşağıdaki iki diyagramları oldukça yararlı bu anlama geldiğini buldum:

http://a.imageshack.us/img651/1559/86421927.png http://a.imageshack.us/img801/1986/resetr.png

3 EKLENDİ

http://think-like-a-git.net/sections/rebase-from-the-ground-up/using-git-cherry-pick-to-simulate-git-rebase.html, ödeme ve reset taklit edebilir rebase.

enter image description here

git checkout bar 
git reset --hard newbar 
git branch -d newbar 

enter image description here

CEVAP
3 EYLÜL 2010, Cuma


  • git reset özellikle ilgilidizin güncellemeKAFA hareket ediyor.
  • git checkout hakkındaçalışma ağaç güncelleme(dizin veya belirtilen ağaç için). (Değilse, detached HEAD ile sonuna kadar bir şube checkout tek başıma güncellenecektir.

Svn dizin vardır beri kıyasla, sadece çalışan bir ağaç, 30* *ayrı bir dizin üzerinde belirli bir revizyon kopyalar.
git checkout yakın eşdeğer olur:

  • 31* *eğer aynı dalda, aynı SVN URL anlam)
  • svn switch eğer örneğin ödeme aynı dalda, ama başka bir SVN repo URL (varsa)

Üç çalışma ağaç değişiklikler (svn checkout, , *update*8) gıt tek bir komut vardır bunlar: git checkout.
Ama beri git ayrıca dizin kavramı ("repo ve çalışma ağacı) arasında, ayrıca git reset. çalışma alanı vardır


Thinkeye in the comments makale bahseder "Reset Demystified ".

Mesela, eğer var iki dal, 'master' ve 'develop' işaret farklı işliyor, ve şu anda üzerinde 'develop' (yani KAFASI puan) ve biz git reset master, 'develop' kendisi artık noktanın aynı işleyen 'master' diyor.

Eğer biz bunun yerine git checkout master, 'develop' olmayacak hareket HEAD kendisi olacaktır. öte yandan, HEAD şimdi işaret edecektir 'master'.

Yani, her iki durumda noktasına HEAD A, işlemek için gidiyoruz ama biz bunu ne kadar çok farklı. reset şube çıkış HEAD kendisini başka bir şube üzerine hareket etmek, HEAD noktaları hareket edecek.

http://git-scm.com/images/reset/reset-checkout.png

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CaptainDisillusion

    CaptainDisil

    18 EYLÜL 2007
  • KSI

    KSI

    25 Temmuz 2009
  • TecnoTutosPC

    TecnoTutosPC

    19 Kasım 2012