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

  • Modus Recordings

    Modus Record

    26 Kasım 2008
  • The Exploiteers

    The Exploite

    4 Ocak 2011
  • VJ VIMANA

    VJ VIMANA

    3 Mayıs 2007