如果我已經對一個大文件進行了多組更改,是否可以使用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. git空白提交的解決方法:僅提交'REAL'更改
- 8. git的承諾,用於隔離更改特定文件作爲單獨提交
- 9. 更改Git提交信息
- 10. 提交Git配置更改
- 11. 將最新提交分解爲多個分支
- 12. Git恢復提交併添加更改,即使在提交更多提交後
- 13. 將分支分解爲單個文件提交
- 14. Git(沒有分支)與未提交的更改
- 15. Subversion將未提交的更改提交到一個新分支
- 16. 將新分支的Git更改爲源分支的較舊提交
- 17. Git:同時提交多個分支
- 18. 如何撤消提交併將更改提交到Git中的其他分支?
- 19. Git - 將未提交的更改推送到以前的提交
- 20. git將本地提交的更改移至新分支並按
- 21. Git提取作爲單獨的文件提交
- 22. git如何合併單個提交中的新更改到另一個分支?
- 23. 將git commit分裂成幾個提交
- 24. Git將多個提交集羣集合成一個提交
- 25. git將來自一個提交的更改應用到另一個分支
- 26. Git:簽出一個保留未提交更改的分支
- 27. 的Git:如何修改提交多個分支共享
- 28. 將提交更改爲另一個分支
- 29. 將單個記錄分解爲多個
- 30. 在git中將雙親提交轉換爲單親提交
的可能的複製[如何分割提交到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