git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
dangyuluo
V2EX  ›  git

Git 如何只添加一行改动?

  •  
  •   dangyuluo · Oct 18, 2022 · 4475 views
    This topic created in 1312 days ago, the information mentioned may be changed or developed.

    比如某一次改动是添加了 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 replies    2022-10-19 00:20:05 +08:00
    billlee
        1
    billlee  
       Oct 18, 2022
    e 手动编辑 diff
    ZZZZone
        2
    ZZZZone  
       Oct 18, 2022
    试试 lazygit ; 进入文件后空格选中一行提交。 非常方便
    zhuweiyou
        3
    zhuweiyou  
       Oct 18, 2022
    IDEA git 有这个功能, 可以同一个文件选某些改动不提交
    dangyuluo
        4
    dangyuluo  
    OP
       Oct 18, 2022
    @ZZZZone 哇用了一会儿很棒的工具


    @zhuweiyou VSCode 的 stage selected range 不太好用
    xygod
        5
    xygod  
       Oct 18, 2022
    用 fork
    可以单选,复选多行代码提交
    geekaven
        6
    geekaven  
       Oct 18, 2022
    想简单点就 sourcetree ,可以添加单行
    DOOMS
        7
    DOOMS  
       Oct 18, 2022
    vscode 好像支持
    Dvel
        8
    Dvel  
       Oct 18, 2022
    用 GUI 吧,fork 双击某一行后就可以提交单行。
    wanmyj
        9
    wanmyj  
       Oct 18, 2022
    一个是按 e 手动编辑 hunk ,另外如果行数不多的话,可以用个笨方法也挺快的,就是 stash 掉这个文件,然后把要 add 的东西修改回来以后 commit ,再用 stash apply 把之前的修改 apply 回来
    blankmiss
        10
    blankmiss  
       Oct 18, 2022
    idea 可以直接进行 add 增减
    ysc3839
        11
    ysc3839  
       Oct 19, 2022
    绝大多数 Git 的 GUI 工具都有 stage lines 功能,比如 git gui https://git-scm.com/docs/git-gui 就有。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2917 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 04:32 · PVG 12:32 · LAX 21:32 · JFK 00:32
    ♥ Do have faith in what you're doing.