Gıt unstaged değişikliklerin bir parçası Geri Al
Nasıl gıt unstaged değişikliklerimi parçaları geri ama geri kalanı gibi unstaged duruyorum? Çözdüm bir şekilde
git commit --interactive
# Choose the parts I want to delete
# Commit the changes
git stash
git rebase -i master # (I am an ancestor of master)
# Delete the line of the most recent commit
git stash apply
Bu çalışır, ama eğer değişiklikler geri alınıyor sadece git commit --interactive
gibi bir şey olsaydı güzel olurdu. Daha iyi yöntemler?
CEVAP
Çalışma kopyası ve geri dönmek için indeks arasındaki fark tek sürü seçim yapmanızı sağlar git checkout -p
kullanabilirsiniz. Aynı şekilde, git add -p
sağlar seçin sürü eklemek için dizin ve git reset -p
size izin verir tercih tek sürü gelen diff arasındaki dizini ve BAŞINI tekrar dışarı dizini.
$ git checkout -p file/to/partially/revert
# or ...
$ git checkout -p .
Eğer git depoyu önceden onlara bakmadan bu değişiklikleri korumak için anlık görüntü almak isterseniz, ben yapmak istiyorum:
$ git stash; git stash apply
Eğer sık sık kullanıyorsanız, diğer isteyebilirsiniz:
[alias]
checkpoint = !git stash; git stash apply
Geri bireysel sahiplik veya çizgiler olabilir daha kolay kullanırsanız iyi bir editör mod veya eklenti olan desteği sağlamak için seçme hatları doğrudan dönmek gibi -p
olabilir biraz sakar kullanın bazen. Magit, Git ile çalışmak için çok yararlı olduğunu Emacs modu kullanıyorum. İçinde Magit, sen-ebilmek koşmak magit-status
bul farklar için değişiklik istediğin dönmek için seçin satırları sana keşke dönmek (veya basitçe imleç yakışıklısı sana keşke dönmek istersen geri dönmek iri bir kez yerine bir satırında bir kez) ve basın k
döner bu özel hatları. Ben çok eğer Emacs kullanırsanız Magit tavsiye ederim.
Android ile ilgili sorunlar Parçası yı...
Git unstaged dosyaları bir geri ödeme ...
Sol ok düğmesi (UİNavigationBar's...
IE10 User-Agent neden geri göndermeme ...
Hg kullanarak geri Mercurial içinde...