在git中有一种方法可以将单个文件中的更改拆分为两个提交吗?

oll*_*cua 6 git git-add git-commit

所以我有一个文件:

...

some code here..

...

some unrelate code here..

...
Run Code Online (Sandbox Code Playgroud)

我对它做了以下更改:

...

some code here that needs to be changed a bunch..

...

some unrelated code here..

...
Run Code Online (Sandbox Code Playgroud)

假设我正处于第一部分的一些重大变化中,我注意到后面部分中的拼写错误.我想修复拼写错误并提交并可能立即推送,但我仍然在处理第一部分而不是阅读以分享它.显然我可以使用git stash或者进行中间提交并在另一个分支中修复拼写错误但是有没有办法只将文件中的一些更改添加到暂存区域.显然我可以解开拼写错误,git add myfile然后重新拼写错字,但如果拼写错误修复更复杂,可能会有点烦人.有没有办法在文件中指定我想要添加的行git add

cjc*_*343 15

-p标志将允许您选择要添加的文件的哪些部分.这里有一个流行的问题,它提供了有关补丁标志的更多细节.


Tox*_*rog 6

从终端,git add --patch或者git add --interactive甚至可以在同一文件中用于选择性地更改更改以进行提交。

如果您希望使用图形工具,则git gui可以通过右键单击diff来选择性地暂存,使用“暂存暂存器”,如果选择了行,则使用“暂存暂存器行”命令。