当我对Git中的文件进行更改时,如何才能只提交部分更改?
例如,如何在文件中更改的30行中只提交15行?
当我对Git中的文件进行更改时,如何才能只提交部分更改?
例如,如何在文件中更改的30行中只提交15行?
当前回答
我强烈建议使用Atlassian的SourceTree。(这是免费的。)这让事情变得微不足道。您可以快速轻松地分段单个大块代码或单个代码行。
其他回答
尝试了gitadd-p filename.x,但在mac上,我找到了gitx(http://gitx.frim.nl/或https://github.com/pieter/gitx)让我更容易地完成我想要的任务。
如果您使用emacs,请查看Magit,它为emacs提供了一个git接口。它非常支持分段大块(文件的一部分)。
vim-gitgolf插件可以在不离开vim编辑器的情况下使用
:GitGutterStageHunk
除此之外,它还提供了其他很酷的功能,如一些现代IDE中的差异符号列
如果只有一部分人被安排逃亡
:Gdiff
允许视觉范围选择,然后:“<,”>diffput或:“<”>diffget暂存/还原单个行更改。
如果是在Windows平台上,我认为gitgui是一个很好的工具,可以从未分页的文件中暂存/提交几行代码
1.愚蠢:
从未标记的更改部分选择文件右键单击需要暂存的代码块选择要提交的阶段Hunk
2.逐行:
从未标记的更改部分选择文件选择要暂存的行右键单击并选择要提交的阶段行
3.如果您想暂存除几行之外的完整文件:
从未标记的更改部分选择文件按Ctrl+T(要提交的阶段文件)所选文件现在移动到分段更改部分选择要暂存的行右键单击并选择UnStage Lines进行提交
如果你碰巧在使用VS代码,那你就幸运了。选择要暂存的范围,然后使用Git:Sstage Selected Ranges暂存它们,如果需要,请提交。
我录制了一张gif图来演示我的意思: