2013-03-28 81 views
0

我有一個修改了一堆的源代碼樹。我選擇了一個大的文件列表,然後放入一個文件。有沒有辦法只提交這些?如何僅提交外部文件中列出的文件名

我想是這樣的:

git commit --files "/tmp/files-to-commit.txt" -m "Fixed bug" 
+0

在TXT你將文件的完整路徑植根於項目根目錄中? –

+0

@WilliamSeitiMizuta是的,每一行。 –

回答

0

這些文件已經錯位了,因此我不需要使用git add來添加它們。此外,我不想刪除其他文件,我只是想提交一組特定的文件。

我通過這種方式得到它:

git commit <first-file-of-list> -m "Fixed bug" 

然後,用去除第一文件的列表從文件列表並提交其他:

cat /tmp/files-to-commit.txt|while read file; do 
    git commit $file --amend --m "Fixed bug" 
done 
1
git add `cat /tmp/files-to-commit.txt` 
git commit -m "Fixed bug" 

的``做shell擴展。所以如果你有一個文件中的文件的名字,把它們列出來將它們列爲參數。

+0

這不起作用。我收到「error:pathspec''與git已知的任何文件不匹配的錯誤。」 –

+0

@carlo嘗試做一個'git add \'cat files-to-commit.txt \'',然後'git commit -m'消息「' – kjprice

+0

我有很多其他文件錯位,這就是爲什麼我試圖避免這種方式。 –