V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
dangyuluo
V2EX  ›  git

Git 如何只添加一行改动?

  •  
  •   dangyuluo · 2022-10-18 12:44:29 +08:00 · 3586 次点击
    这是一个创建于 801 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如某一次改动是添加了 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 ,麻烦了点但是可以做到

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


    @zhuweiyou VSCode 的 stage selected range 不太好用
    xygod
        5
    xygod  
       2022-10-18 14:01:56 +08:00
    用 fork
    可以单选,复选多行代码提交
    geekaven
        6
    geekaven  
       2022-10-18 14:07:33 +08:00
    想简单点就 sourcetree ,可以添加单行
    hokori
        7
    hokori  
       2022-10-18 14:35:57 +08:00
    vscode 好像支持
    Dvel
        8
    Dvel  
       2022-10-18 14:39:35 +08:00
    用 GUI 吧,fork 双击某一行后就可以提交单行。
    wanmyj
        9
    wanmyj  
       2022-10-18 16:11:05 +08:00
    一个是按 e 手动编辑 hunk ,另外如果行数不多的话,可以用个笨方法也挺快的,就是 stash 掉这个文件,然后把要 add 的东西修改回来以后 commit ,再用 stash apply 把之前的修改 apply 回来
    blankmiss
        10
    blankmiss  
       2022-10-18 17:40:06 +08:00
    idea 可以直接进行 add 增减
    ysc3839
        11
    ysc3839  
       2022-10-19 00:20:05 +08:00
    绝大多数 Git 的 GUI 工具都有 stage lines 功能,比如 git gui https://git-scm.com/docs/git-gui 就有。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   951 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 20:08 · PVG 04:08 · LAX 12:08 · JFK 15:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.