2015-01-26 81 views
1

我從我的git repo(git rm a)中刪除了一個文件,並更改了另一個文件(b)。我還有一些其他的變化,但我希望在一個提交中專門提交這兩個更改,並在稍後處理其他更改。我的狀態基本上是:git commit特定的分段刪除文件

# Changes to be commited: 
# deleted: a 
# renamed: f1 --> f2 
# renamed: g1 --> g2 
# ... other irrelevant stuff ... 
# 
# Changed but not updated: 
# modified: b 
# modified: h 
# modified: .. other files .. 
# 

我想做的事:

git commit a b -m "..." 

這不工作( 「錯誤:pathspec '一個' 不匹配已知的git的任何文件(S)」)。我知道我可以做git commit -a來提交刪除本身,但我不想承諾一切,我希望這一個承諾是只是更改爲b和刪除a。我怎麼做?

+2

認爲你只能通過暫存你想提交的東西來做到這一點。即首先重置您的索引,然後添加2個更改,然後提交。 – eckes 2015-01-26 22:56:23

回答

3

您可以通過運行git reset --mixed來重置HEAD和索引。然後,您應該將所有更改(包括刪除)都暫停。

然後運行git add -u <fileYouDeleted>,然後您的已刪除文件將被暫存(但其他則不會)。然後你可以只提交刪除。