请问 git add 如何只 add 某一行 或者说 特定的行? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
singlepig
V2EX    git

请问 git add 如何只 add 某一行 或者说 特定的行?

  •  
  •   singlepig 2016-11-21 16:22:10 +08:00 9200 次点击
    这是一个创建于 3244 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前用图形 git 客户端的时候,有个功能是选中某些改动的行,就可以自动把这些行 git add ,而其他没有选中的,(比如一些 log 埋点,没有必要提交,但是后面还要用)就不会加入 git add 。

    我想知道是否可以用命令行的方式实现同样的功能。

    27 条回复    2023-08-09 08:11:36 +08:00
    SpicyCat
        1
    SpicyCat  
       2016-11-21 16:49:32 +08:00
    git add -i, 然后选 patch
    SilentDepth
        2
    SilentDepth  
       2016-11-21 16:50:30 +08:00
    `git add --interactive/--patch`?
    不过感觉操作很麻烦,不如图形化用着方便,可能是我不好命令行的口味
    singlepig
        3
    singlepig  
    OP
       2016-11-21 16:57:37 +08:00   2
    哈哈,我查到了,用 git add -p ,是我想要的。
    http://stackoverflow.com/questions/4309156/commit-specific-lines-of-a-file-to-git
    singlepig
        4
    singlepig  
    OP
       2016-11-21 16:59:53 +08:00
    @SilentDepth 能有 gui 当然最好,方便快捷。我是觉得不想为了这个再装一个不常用的 gui ,因为我平时还是直接敲命令多一点
    singlepig
        5
    singlepig  
    OP
       2016-11-21 17:00:57 +08:00
    @SpicyCat 是的,-i 的 patch 和直接-p 是一样的操作模式。
        6
    millson  
       2016-11-21 17:04:35 +08:00
    分享一下我对于类似问题的学习方法吧,使用 sourcetree ,设置中勾选"Always display full console output",这样每个操作实际执行的 git command 都有了
    SilentDepth
        7
    SilentDepth  
       2016-11-21 17:29:39 +08:00
    @millson SourceTree 会添加额外的参数以保障性能或应对特殊情况,感觉这样学习会比较有压力
    chinawrj
        8
    chinawrj  
       2016-11-21 17:38:20 +08:00
    我是不会告诉你 tig 可以在字符界面下搞定这个事情的,而且简单快速。:)
    yangg
        9
    yangg  
       2016-11-21 17:38:41 +08:00 via iPhone
    不错,
    27
        10
    27  
       2016-11-21 20:13:37 +08:00
    感觉 sourcetree 比较方便
    jon
        11
    jon  
       2016-11-21 21:25:31 +08:00
    居然 git 还能这样用
    yoa1q7y
        12
    yoa1q7y  
       2016-11-21 21:28:30 +08:00
    sourcetree 无比方便
    singlepig
        13
    singlepig  
    OP
       2016-11-21 22:23:03 +08:00
    @yoa1q7y 是的,就这样,选中需要的,不要的不选, gui 很方便, github 的客户端也是,直接选中想要的行就行
    singlepig
        14
    singlepig  
    OP
       2016-11-21 22:25:14 +08:00
    @millson 以前用 sourcetree ,还是 EI 刚出来的时候,挺好用的,就是偶尔会莫名假死,风扇狂转,后来没办法,弃用了,慢慢习惯命令行了。
    singlepig
        15
    singlepig  
    OP
       2016-11-21 22:25:33 +08:00
    @jon 哈哈哈,神奇吧
    onceyoung
        16
    onceyoung  
       2016-11-21 22:27:40 +08:00
    哈哈,圣圣,你被我捉住了
    singlepig
        17
    singlepig  
    OP
       2016-11-21 22:30:21 +08:00
    singlepig
        18
    singlepig  
    OP
       2016-11-21 22:38:00 +08:00
    @onceyoung 我曹?!你是哪只?
    onceyoung
        19
    onceyoung  
       2016-11-22 10:08:39 +08:00
    @singlepig you 猜
    singlepig
        20
    singlepig  
    OP
       2016-11-22 17:36:19 +08:00
    @onceyoung x 丛 x ?
    Necfol
        21
    Necfol  
       2017-05-09 15:10:49 +08:00
    圣圣,你也被我抓住了!
    singlepig
        22
    singlepig  
    OP
       2017-05-09 19:13:53 +08:00
    @Necfol 666
    Necfol
        23
    Necfol  
       2017-05-10 10:06:40 +08:00
    @singlepig 楼上是你的庄二哥
    singlepig
        24
    singlepig  
    OP
       2017-05-11 19:26:24 +08:00
    @Necfol zmq 啊!我还以为是 yangcongyu 呢,哈哈哈
    PrtScScrLk
        25
    PrtScScrLk  
       2023-08-08 08:45:07 +08:00
    @singlepig 好用,架不住我领导都不用代码格式化,我用代码格式化,导致我跟他代码合并一大堆都是因为空格的问题= =要挑选的有用的代码提交上去然后 discard ,太难了。
    singlepig
        26
    singlepig  
    OP
       2023-08-08 22:11:14 +08:00
    @PrtScScrLk 用代码管理工具,但是不用统一格式化工具,这个做法我觉得好难受
    PrtScScrLk
        27
    PrtScScrLk  
       2023-08-09 08:11:36 +08:00
    @singlepig 是的,我现在也是手动格式化了。领导四十多了,已经有一套很固定的编程方式了,不容易让他改变。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5349 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 07:30 PVG 15:30 LAX 00:30 JFK 03:30
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86