2016-04-08 29 views
1

Son iki sözleşmeyi kaldırmam gerekiyor, ancak bu paylaşımlardan bazı verileri kaydetmem gerekiyor (bir klasör). Ve bunu benim 3. taahhüdüme birleştirin. Bunu nasıl yapabilirim? Sen geri sıfırlayabilirsinizSon 2 kaydını silmeksiz tüm verileri silme

cevap

2

iki-taahhüt eder önce dalı sıfırlamak ancak tüm yer değişimi bu iki hareketin tutacak

git reset --mixed HEAD~2 

Bu

kullanarak. Daha sonra,

+0

üzerine kabak komutunu uygulamak istediğiniz tüm değişiklikleri 'eklendi' zaten iyi – FazoM

+0

Evet --mixed bu durum için iyi çalışabilir --mixed olacaktır. Cevabı güncelleyeceğim. –

2

Kaydetmek için gerekenleri ekleyin ve yapıştırın. Diyorum ki:

Not aşağı akım taahhüt ID:

git log |head -n1 

geri iki hareketin kaydedilmesini gitmek

git checkout HEAD~2 

sonra

git checkout <noted ID> -- yourdirectory/ 

yalnızca dizin kontrol ve taahhüt Sonuç:

git commit -m "kept the future of yourdirectory/" yourdirectory 

Ve gerçekten ile karışmak isterseniz bir işlemeye varolan bu iki hareketin kaydedilmesini ezmeye

git rebase -i HEAD~10 

kullanın.

Gerçekten istiyorsanız (yapmanız gerekmez) git prune dangling daha sonra işler.

+0

bence HEAD ~ 2 HEAD ~ 3 olmalı - iki kez geri – FazoM

+0

doğru, haklısın. –

0

git rebase -i HEAD~2, önceki 3 işi düzenlemenizi sağlar.

Muhtemelen bırakacaktı --soft interaktif kabuk

İlgili konular