SORU
27 NİSAN 2011, ÇARŞAMBA


"x" --önbelleğe; vs "git reset head -- x" git rm;?

21**:

git rm girişler kaldıracak depo alanı. Bu biraz farklı "unstages"git reset HEAD dosyaları. ""Döner yani unstage tarafından orada ne için hazırlık alanı önce bir şeyleri değiştirme başladık. Diğer taraftan git rm sırf eğlence olsun diye bu sahne tamamen, bu yüzden dosya kapalı sonraki dahil değil anlık, böylece etkili bir şekilde işlemek silmeden.

Varsayılan olarak, git rm file tamamen ve de disk ^ off hazırlama alanından dosya kaldıracaktır . (çalışma dizini). Çalışma dizini dosya bırakmak, git rm --cached kullanabilirsiniz.

Ama tam git rm --cached asd git reset head -- asd arasındaki fark nedir?

CEVAP
27 NİSAN 2011, ÇARŞAMBA


Bir dosya, diyelim ki, üç yerde, ağaç, dizin ve çalışma kopyası vardır. Sadece bir klasör için bir dosya eklemek, çalışma kopyası için eklemiş olursunuz.

git add file gibi bir şey yaparsan bunu dizine ekleyin. Ve taahhüt, ağaç için de ekleyin.

Muhtemelen sen git reset: daha yaygın üç bayrakları bilmek yardımcı olacaktır

git reset [--<mode>] [<commit>]

Bu form mevcut şube <commit> baş ve muhtemelen sıfırlar güncellemeleri Endeksi (<commit> ağacı sıfırlama) ve çalışma ağaç biri olmalıdır <mode>, bağlı aşağıdaki:
--yumuşak

Dizin dosyası ne de işçi ağacı hiç (ama sıfırlar dokunmaz tüm modlar gibi <commit>) baş. Bu tüm yaprakların değiştirilmiş dosyalar "işlenmesi Değişiklikler", olarak gıt durumu yazalım.

--karışık

Endeks, işçi ağaç (örneğin, değiştirilen dosyaları sıfırlar korunmuş ama suç işlemek için işaretlenmemiş) ve henüz ne raporlar güncellendi. Bu varsayılan eylemdir.

--zor

Sıfırlar endeksi ve çalışma ağacı. İzlenen dosya değişiklikleri <commit> yılından bu yana ağaç atılır.

Şimdi, ne zaman yaptığın bir şey gibi git reset HEAD - ne gerçekten yapıyorsun git reset HEAD --mixed ve "reset" dizine devlet önce sen başlattın ekleme / dosyalar ekleme ve değişiklikler için index ( ) git add )Bu durumda, çalışma kopyası ve dizin ( veya basamak ) senkronize edildi, ama BAŞINI ve dizini Sıfırla sonra senkronize olmak için.

Diğer yandan git rm çalışma dizini ve dizin bir dosya kaldırır ve tamamlama, dosya ağacı olarak kaldırılır. git rm --cached ancak dizinden dosyayı tek başına kaldırır ve çalışma kopyasını tutar. Bu git add file tam tersidirBu durumda, dizin için farklı bir KAFA ve bu çalışma, bu KAFAYA sahip daha önce kararlı sürüm dosyası, çalışma kopyası vardı las değişiklik olursa veya herhangi bir içerikten BAŞIN dosya ve kaldırdığınız dosya dizini. Şimdi dizin ve ağaç eşitler kaydetme ve dosya silinecektir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DigitalRev TV

    DigitalRev T

    30 AĞUSTOS 2007
  • Joshua Kywn

    Joshua Kywn

    17 Mayıs 2010
  • Mary Jane Tauyan

    Mary Jane Ta

    20 AĞUSTOS 2009