Git 如何只添加一行改动?

2022-10-18 12:44:29 +08:00
 dangyuluo

比如某一次改动是添加了 2.1, 2.2, 2.3, 2.4 这四行

@@ -1,5 +1,9 @@
 1
 2
+2.1
+2.2
+2.3
+2.4
 3
 4
 5

当我用git add -p ./xxx选择 stage 时,这四行是不能再分的最小单位了。

Stage this hunk [y,n,q,a,d,e,?]? s
Sorry, cannot split this hunk
@@ -1,5 +1,9 @@
 1
 2
+2.1
+2.2
+2.3
+2.4
 3
 4
 5

Found it. 可以按 e 手动编辑 hunk ,麻烦了点但是可以做到

3314 次点击
所在节点    git
11 条回复
billlee
2022-10-18 12:47:47 +08:00
e 手动编辑 diff
ZZZZone
2022-10-18 12:52:31 +08:00
试试 lazygit ; 进入文件后空格选中一行提交。 非常方便
zhuweiyou
2022-10-18 13:38:12 +08:00
IDEA git 有这个功能, 可以同一个文件选某些改动不提交
dangyuluo
2022-10-18 13:47:32 +08:00
@ZZZZone 哇用了一会儿很棒的工具


@zhuweiyou VSCode 的 stage selected range 不太好用
xygod
2022-10-18 14:01:56 +08:00
用 fork
可以单选,复选多行代码提交
geekaven
2022-10-18 14:07:33 +08:00
想简单点就 sourcetree ,可以添加单行
hokori
2022-10-18 14:35:57 +08:00
vscode 好像支持
Dvel
2022-10-18 14:39:35 +08:00
用 GUI 吧,fork 双击某一行后就可以提交单行。
wanmyj
2022-10-18 16:11:05 +08:00
一个是按 e 手动编辑 hunk ,另外如果行数不多的话,可以用个笨方法也挺快的,就是 stash 掉这个文件,然后把要 add 的东西修改回来以后 commit ,再用 stash apply 把之前的修改 apply 回来
blankmiss
2022-10-18 17:40:06 +08:00
idea 可以直接进行 add 增减
ysc3839
2022-10-19 00:20:05 +08:00
绝大多数 Git 的 GUI 工具都有 stage lines 功能,比如 git gui https://git-scm.com/docs/git-gui 就有。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/887749

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX