猿问

只提交Git文件的一部分

只提交Git文件的一部分

当我对Git中的文件进行更改时,如何只提交一些更改?

例如,在文件中更改的30行中,我如何只提交15行?


HUX布斯
浏览 4913回答 3
3回答

缥缈止盈

你可以用git add --patch <filename>(或-p,git将开始将您的文件分解为它认为合理的“大块头”(文件的一部分)。然后,它将提示您以下问题:Stage&nbsp;this&nbsp;hunk&nbsp;[y,n,q,a,d,/,j,J,g,s,e,?]?以下是每个选项的说明:y为下一次提交做准备n不要在下一次提交时使用这个块。q退出;不要上演这个大块头或任何剩下的大块头。a把这个家伙和所有后来的家伙放到档案里d不要在文件中放置这个大块头或任何后半身。g选择要去的地方/搜索匹配给定正则表达式的块j让这个大块头犹豫不决,看下一个未定的家伙J让这家伙犹豫不决,看下一个大块头k让这个庞克犹豫不决,见以前的未定之人。K让这个庞克犹豫不决,见以前的大块头s将当前的大块头分割成较小的块。e手动编辑当前块?印刷机帮助如果该文件尚未在存储库中,则可以首先执行以下操作:git add -N <filename>..之后你可以继续git add -p <filename>.之后,您可以使用:git diff --staged以检查您是否进行了正确的更改。git reset -p在舞台上被错误地添加了大块头git commit -v编辑提交消息时查看提交。注意,这与git format-patch命令,其目的是将提交数据解析为.patch档案。今后参考资料:GIT工具.交互式分期

BIG阳

我相信git add -e myfile这是最简单的方法(至少是我的首选),因为它只会打开文本编辑器,并允许您选择想要分阶段的行和不想做的行。关于编辑命令:新增内容:添加的内容由以“+”开头的行表示。可以通过删除任何加法行来防止它们暂存。删除内容:删除的内容由以“-”开头的行表示。您可以通过将“-”转换为“(空格)来防止它们移除。修改内容:修改后的内容由“-”行(删除旧内容)和“+”行(添加替换内容)表示。您可以通过将“-”行转换为“并删除”+“行来防止修改。请注意,只修改这对的一半可能会给索引带来令人困惑的变化。每一个细节git add可在git --help add
随时随地看视频慕课网APP
我要回答