SORU
14 Mart 2013, PERŞEMBE


Nasıl bir git alt sabit --sıfırlamak için?

GÜNCELLEMEBu sezgisel Gıt itibariyle 1.8.3, my own answer daha fazla çalışacak.

Aşağıdaki kullanma durumu hayal edin: Git benim çalışma ağaç, diğer tüm alt dizinlerinin olduğu gibi bıraktı. belirli bir alt dizinindeki tüm değişiklikleri kurtulmak istiyorum

Bu operasyon için uygun bir Git komutu nedir?

Aşağıdaki komut, bir sorunu göstermektedir. How to make files yorum geçerli komut-aşağıya doğru komut Dosya Ekle geri seyrek checkout tarafından dışlanmış olması gerekiyordu a/c/ac. Unutmayınyokaçıkça a/a a/b, ben geri istiyorum "" a ve her şeyi aşağıda geri istiyorum. biliyorum sadeceEDİTVe ben de "" b ya da diğer dizinler a ile aynı seviyede bulunur bilmiyorum.

#!/bin/sh

rm -rf repo; git init repo; cd repo
for f in a b; do
  for g in a b c; do
    mkdir -p $f/$g
    touch $f/$g/$f$g
    git add $f/$g
    git commit -m "added $f/$g"
  done
done
git config core.sparsecheckout true
echo a/a > .git/info/sparse-checkout
echo a/b >> .git/info/sparse-checkout
echo b/a >> .git/info/sparse-checkout
git read-tree -m -u HEAD
echo "After read-tree:"
find * -type f

rm a/a/aa
rm a/b/ab
echo >> b/a/ba
echo "After modifying:"
find * -type f
git status

# How to make files a/* reappear without changing b and without recreating a/c?
git checkout -- a

echo "After checkout:"
git status
find * -type f

CEVAP
14 Mart 2013, PERŞEMBE


Not (Dan Fabulich commented):

  • git checkout -- <path> sabit sıfırlama yapmaz: içeriğini aşamalı çalışma ile ağaç içeriğini değiştirir.
  • git checkout HEAD -- <path> yol için sert bir sıfırlama, dizin ve HEAD sürümü ile çalışan ağaç hem işlemek yerine geliyor.

Ajedi32 Her iki kontrol formlarını tarafından answered gibihedef numarası silinmiş olan dosyaları kaldırmak yok.
Eğer KAFASINA bulunmayan çalışma ağacında ekstra dosyalar varsa, git checkout HEAD -- <path> bunları kaldırmaz.

Ama bu çıkış da belirtildiği gibi git update-index --skip-worktree (Bu dizinler için görmezden geliyorsun), saygın "Why do excluded files keep reappearing in my git sparse checkout?".

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Schoon

    Ben Schoon

    23 Kasım 2012
  • We've moved!

    We've moved!

    7 Ocak 2008
  • NYLON Video

    NYLON Video

    11 Aralık 2006