2011-06-01 26 views
21

Kule'de (Mac için Git istemcisi) kullanıcının, hatta satır satırında bile değişiklikleri silebileceğini fark ettim. Bu komut satırı kullanılarak nasıl yapılabilir acaba? ya da belki Tower'dan özel bir şey?Tek bir satırdaki değişiklikleri atla

Sık sık bu durumda kendimi bulmak:

@@ -391,7 +392,7 @@ extern BOOL validateReceiptAtPath(NSString *path); 

     NSURL *url = [self fileURL]; 
     if (url != nil) { 
       NSRect readFrame = [self _readPreferenceOfFileAtURL:url]; 
-    
+ 
       for (NSScreen * screen in [NSScreen screens]) { 
         NSRect screenVisibleRect = [screen visibleFrame]; 
         ... 

Bir + ve bir - var Bak nasıl? Ben

:)

+0

İncelemelerini istemediklerini anlayabiliyorum, ancak kod tabanınızın iyileştirilmesi için bunun gibi boşluk düzeltmelerini kontrol etmenizi öneririz. Eğer gerçekten bu kadar fazla hata yaparlarsa, muhtemelen editörünüzde bunu ilk etapta yapmamaktan kaçınmak için bir ayar vardır ("satırın sonunda boşlukları kaldırmak" gibi). –

cevap

26

Bu interaktif evreleme denir ve git add -i veya git add -p kullanılarak yapılabilir böylece benim asgari değişiklikler (çatışmaların dolayısıyla daha az olanaklarını ve daha kolay inceleme) sahiptir taahhüt atın istiyorum. Daha fazla bilgi için git-add manpage, pro git ve Git Community Book'a bakın.

DÜZENLEME:

etkileşimli bir dosya, kullanabilirsiniz unstage için:

git checkout -p HEAD 

Ayrıca, bu SO soruya bakın: Undo part of unstaged changes in git

2

Sen doğru evreleme önce dosyayı düzenlemek için git add -e kullanabilirsiniz .

0

geri almak için yakışıklısı

git reset --patch 

Bu çok gizli bir özelliktir

kullanın. git add --interactive ile hunk tarafından ikincil olarak hunk yapabilirsiniz, ancak bu şekilde uygunsuz yapamazsınız. git add ayrıca --interactive gibi --patch seçeneğini de içerir, ancak doğrudan "yama" menü noktasına gider (aksi halde p ENTER'U ENTER'a basmanız gerekir).

git reset--interactive seçeneğini yansıtmaz, ancak --patch sahiptir.

0

Serbest veya özel program Source Tree ile hunks veya belirli satırları silebilirsiniz.