如何解决在 Git 中只提交文件的一部分
您可以使用git add --patch <filename>
(或-p
简称),git 将开始将您的文件分解成它认为合理的“大块”(文件的一部分)。然后它会提示你这个问题:
Stage this hunk [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 中对文件进行更改时,如何仅提交部分更改?
例如,我如何才能只提交文件中已更改的 30 行中的 15 行?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。