2012-06-12 79 views
3

我有這個文件承諾:如何部分階段與LibGit2Sharp文件?

foo.txt的

line 1 
line 2 
line 3 

現在我修改成爲:

line 1 
line 1.5 
line 2 
line 2.5 
line 3 

,我跑git add . && git diff --cached foo.txt,這就是我得到:

diff --git a/foo.txt b/foo.txt 
index c4dfc64..4942553 100644 
--- a/foo.txt 
+++ b/foo.txt 
@@ -1,3 +1,5 @@ 
line 1 
+line 1.5^M 
line 2 
+line 2.5^M 
line 3 

比方說,我現在想從索引中刪除line 1.5並保留line 2.5,我會如何使用LibGit2Sharp執行此操作?

這也可以通過其他方式詢問:如何將文件的某些部分添加到索引中?我正在尋找某種編程版本git add -p

+7

[可以使用libgit2將文件的一部分添加到Git索引嗎?](http://stackoverflow.com/questions/9597663/is-it-possible-to-add-parts-of-一個文件到GIT-索引使用-libgit2) – nulltoken

回答

1

這樣做顯然不容易(理解:LibGit2Sharp-native)。

但它可能是可能的。你爲什麼要刪除這個特定的行?這取決於您的標準,但更簡單的方法是簡單地編輯文件本身(由git diff --cached foo.txt的結果幫助)。所以git不會進行不需要的修改。