所以我有一个文件:
...
some code here..
...
some unrelate code here..
...
我对它进行了以下更改:
...
some code here that needs to be changed a bunch..
...
some unrelated code here..
...
假设我正处于第一部分的一些重大变化中,我注意到后面部分中的拼写错误。我想修复拼写错误并提交并可能立即推送,但我仍在努力完成第一部分而不是阅读以分享它。显然我可以使用git stash或者进行中间提交并在另一个分支中修复拼写错误,但是有没有办法只将文件中的一些更改添加到暂存区域。显然,我可以解除输入错误,git add myfile
然后重新拼写错字,但如果拼写错误修复更复杂,可能会有点烦人。有没有办法用git add
指定要添加的文件中的行?
答案 0 :(得分:13)
-p
标志将允许您选择要添加的文件的哪些部分。这是一个受欢迎的问题here,它提供了有关补丁标记的更多详细信息。
答案 1 :(得分:4)
从终端,git add --patch
或git add --interactive
可用于选择性地提交提交更改,即使在同一文件中也是如此。
如果您更愿意使用图形工具,git gui
允许您通过右键单击diff来选择性地进行分段,使用“stage hunk for commit”,如果选择了行,则“stage for lines for commit “命令。
答案 2 :(得分:2)
git add --interactive
将允许您从已编辑的文件中选择性阶段。
如果你有一点远见,你可以
git stash save 'typos'
// edit file
git commit -am 'fix'
git stash pop
暂时“隐藏”(其他VCS中的a.k.a. 搁置)的拼写错误修补程序将合并回您的工作副本。