如果我已經對一個大文件進行了多組更改,是否可以使用git將它們分成單獨的提交?將多個更改分解爲與git單獨提交?
38
A
回答
64
您想要git add --patch
,這將允許您選擇要進行哪些更改。
+4
爲什麼downvote? git add -i如果你想要的是選擇hunks,那麼它是過度殺毒,因爲你從-i菜單中選擇的第一個選項是'p'(或5),所以你可能會直接跳到它 - 補丁。 – 2011-02-10 12:25:18
16
是的,你可以 - 使用git add -i
來選擇你想要爲每個提交階段選擇哪些區塊。您可以通過運行git help add
並滾動到「交互模式」來獲取文檔。
1
Williams answer是完全有效的。但有時手工操作更容易。例如,如果您在提交之前做出的更改之前意外更新了一些包含大量文件的第三方庫。使用git add -p
(與--patch
相同),您需要瀏覽所有這些文件。因此,在這種情況下,它是方便多了,只是階段,你要提交的文件,並做了所有的其他變化第二承諾:
> git add /path/to/your/file.txt
> git commit -m "my commit message"
[master a0c5ea6] my commit message
1 file changed, 2 insertions(+), 1 deletion(-)
> git add --all
> git commit -m "updated library xyz"
相關問題
- 1. 如何自動分割git提交單獨文件的更改
- 2. Git:提交部分更改
- 3. Git:將代碼修改拆分爲多個提交
- 4. 提交Git中多個分支的更改
- 5. git的承諾,用於隔離更改特定文件作爲單獨提交
- 6. 更改Git提交信息
- 7. 將分支分解爲單個文件提交
- 8. Subversion將未提交的更改提交到一個新分支
- 9. 將新分支的Git更改爲源分支的較舊提交
- 10. Git:同時提交多個分支
- 11. 如何撤消提交併將更改提交到Git中的其他分支?
- 12. Git提取作爲單獨的文件提交
- 13. Git將多個提交集羣集合成一個提交
- 14. Git:簽出一個保留未提交更改的分支
- 15. 在git中將雙親提交轉換爲單親提交
- 16. 將未提交的變更通過Git提交給一個新分支
- 17. 作爲提交將FTP更改爲BitBucket
- 18. 將git提交轉換爲一個
- 19. Git:一個項目與兩個遠程回購維護單獨提交
- 20. Git推送所有提交作爲單個提交與自定義消息
- 21. 更改表單提交的行爲
- 22. Python SQL單一提交與多個提交與
- 23. git - 將一系列提交合併爲一個提交
- 24. 與每個提取後更改遠程分支git問題
- 25. 如何恢復從git提交更改?
- 26. 讓git免於需要提交更改
- 27. Git存儲庫的未提交更改
- 28. 更改Netbeans中的Git提交者
- 29. 更改表單提交值?
- 30. 在SVN中提交單個更改
的可能的複製[如何分割提交到Git的小提交?](http://stackoverflow.com/questions/2118042/how-to-split-a-commit-into-smaller-commits-with-git)。 – 2013-07-14 19:34:24
另外,還不清楚這些更改是否已經提交。如果他們已經承諾過多次提交,那麼「rebase - interactive」就是要走的路。如果沒有,`git add --patch`是你應該考慮的選項之一。 – 2013-07-14 19:36:00