Nasıl tersine çevirmek için geçerli bir zulası?
Küçük bir düzeltme benim git stash away kurtardım. Benim çalışma kopyası git stash apply
kullanarak başvurdum. Şimdi, ters yama (tür git revert
ne gibi ama zulayı karşı) uygulayarak bu değişiklikleri geri almak istiyorum.
Herkes bunu nasıl biliyor mu?
Açıklama:Benim çalışma kopyası diğer değişiklikler var. Özellikle benim durumumda tarif etmek zor ama zula orada bazı hata ayıklama ya da deneysel kod tahmin edebilirsiniz. Şimdi diğer bazı değişiklikler ile benim çalışma kopyası karışık ve değişiklikleri olmadan ve etkisi saklamak görmek istiyorum.
Bu destekler şu anda zula gibi görünmüyor, ama git stash apply --reverse
güzel bir özellik olurdu.
CEVAP
Göre git-stash manpage "zula temsil gibi bir taahhüt ağacı kayıtları devletin çalışma dizini ve onun ilk üst commit HEAD
malı oluşturuldu" ve git stash show -p
verir bize "değişiklikler kaydedildi zula gibi bir fark arasında saklanmış devleti ve özgün ana.
Diğer değişiklikler olduğu gibi korumak için, aşağıdaki gibi git stash show -p | patch --reverse
kullanın:
$ git init
Initialized empty Git repository in /tmp/repo/.git/
$ echo Hello, world >messages
$ git add messages
$ git commit -am 'Initial commit'
[master (root-commit)]: created 1ff2478: "Initial commit"
1 files changed, 1 insertions( ), 0 deletions(-)
create mode 100644 messages
$ echo Hello again >>messages
$ git stash
$ git status
# On branch master
nothing to commit (working directory clean)
$ git stash apply
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: messages
#
no changes added to commit (use "git add" and/or "git commit -a")
$ echo Howdy all >>messages
$ git diff
diff --git a/messages b/messages
index a5c1966..eade523 100644
--- a/messages
b/messages
@@ -1 1,3 @@
Hello, world
Hello again
Howdy all
$ git stash show -p | patch --reverse
patching file messages
Hunk #1 succeeded at 1 with fuzz 1.
$ git diff
diff --git a/messages b/messages
index a5c1966..364fc91 100644
--- a/messages
b/messages
@@ -1 1,2 @@
Hello, world
Howdy all
Düzenleme:
Bu hafif bir iyileşme yama yerine git apply
kullanmak için:
git stash show -p | git apply --reverse
Alternatif olarak, git apply --reverse
için bir kısaltma olarak git apply -R
kullanabilirsiniz.
Bu gerçekten kullanışlı son zamanlarda buluyorum...
Nasıl tek bağlı bir liste sadece iki i...
Nasıl BackStack üzerinde Parça Animasy...
Nasıl Gıt zulası düştü kurtarmak için?...
Nasıl MUAYENE dosyası tersine mühendis...
Nasıl node.js geçerli betiğin yolunu a...