git add 的时候如何快速从一些修改文件中选出几个文件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hikarugo
V2EX    问与答

git add 的时候如何快速从一些修改文件中选出几个文件

  •  
  •   hikarugo 2023-07-13 10:08:53 +08:00 2431 次点击
    这是一个创建于 871 天前的主题,其中的信息可能已经有所发展或是发生改变。
    status 会发现有一些修改的文件列表,可是这个时候我只想添加 5-6 个文件这样,或者排除某几个文件这样,我在想如果 status 同时列出每个文件序号 id ,然后通过 id 添加,有类似的方式吗

    git status:
    1 p1/p2/x1.ts
    2 p1/x2.ts
    3 x3.ts
    ....

    git add 1,2,5 或者[1,2,5]
    git add -[5,6,7]
    第 1 条附言    2023-07-14 09:14:23 +08:00
    感谢 v 友,add -i 解决了。不是说 gui 不好,个人习惯就是能少开一个窗口就少一个吧。推荐的 lazygit 看了下也是挺好用的,也会尝试下
    30 条回复    2023-07-14 09:08:24 +08:00
    Rache1
        1
    Rache1  
       2023-07-13 10:19:14 +08:00   1
    正解就是用 GUI ♂
    dumbass
        2
    dumbass  
       2023-07-13 10:21:24 +08:00
    GUI
    M3vfZHF022E20IVm
        3
    M3vfZHF022E20IVm  
       2023-07-13 11:19:45 +08:00
    sourcetree 挺好用得
    dobelee
        4
    dobelee  
       2023-07-13 11:23:09 +08:00   1
    SmartGit 解君愁。
    KagurazakaNyaa
        5
    KagurazakaNyaa  
       2023-07-13 11:24:02 +08:00
    vscode 吧,它的 git 功能也挺好用的
    Bigglesworth
        6
    Bigglesworth  
       2023-07-13 11:25:41 +08:00   1
    https://git-fork.com/ 个人感觉比较简洁
    frankly123
        7
    frankly123  
       2023-07-13 11:35:59 +08:00
    GUI
    fmumu
        8
    fmumu  
       2023-07-13 11:37:45 +08:00
    gui
    lisxour
        9
    lisxour  
       2023-07-13 11:38:24 +08:00
    1. CLI 下,用*匹配
    2. GUI 下,任你选提交哪些文件、哪些部分
    loading
        10
    loading  
       2023-07-13 11:38:59 +08:00   1
    https://git-fork.com/ 值得拥有,免费好用。
    iOCZ
        11
    iOCZ  
       2023-07-13 11:41:27 +08:00
    老老实实 GUI ,清清楚楚提交。
    daozun
        12
    daozun  
       2023-07-13 11:48:27 +08:00   1
    git add -i
    Retas
        13
    Retas  
       2023-07-13 12:06:43 +08:00
    vscode 自带的 git 功能,很好用
    geelaw
        14
    geelaw  
       2023-07-13 12:15:16 +08:00
    建议和自己和解、和 GUI 和解,或者 https://git-scm.com/book/en/v2/Git-Tools-Interactive-Staging
    lddtech
        15
    lddtech  
       2023-07-13 12:44:52 +08:00   1
    lazygit 欢迎你
    ooee2016
        16
    ooee2016  
       2023-07-13 13:57:16 +08:00
    命令行没办法,不过命令行里复制粘贴很方便呀
    TangYuSen
        17
    TangYuSen  
       2023-07-13 14:16:14 +08:00
    Gitlen 解君愁
    PrtScScrLk
        18
    PrtScScrLk  
       2023-07-13 14:23:12 +08:00
    推荐一个主要用来查看和 add 和 commit 的 sublime merge 。
    大部分还是 bash 完成。
    RoccoShi
        19
    RoccoShi  
       2023-07-13 14:27:28 +08:00 via Android   1
    命令行可以用用 lazygit
    hangbale
        20
    hangbale  
       2023-07-13 14:29:30 +08:00
    gitui
    fiypig
        21
    fiypig  
       2023-07-13 14:32:50 +08:00
    为啥你们都用命令啊, 我习惯用 Sourcetree
    enpitsulin
        22
    enpitsulin  
       2023-07-13 14:50:17 +08:00
    建议经常 add 并 commit 就行了,如果闲记录太长再 squash ,或者压缩这部分在 PR 流程里处理
    npe
        23
    npe  
       2023-07-13 14:51:21 +08:00
    IDEA 的 GUI 好用到爆炸
    uncat
        24
    uncat  
       2023-07-13 15:16:23 +08:00   1
    第一步:如果你是全新添加的文件,即仓库中完全没见过的:

    git add -N .
    # `.` 点号跟踪所有新文件的意思

    git add -N <file1> <file2>
    # 跟踪特定的几个文件,`<file1> <file2>`
    # 这里可以通过 bash-completion 来实现自动补全

    先将所有需要跟踪的文件通过 git 跟踪起来

    第二步:通过 patch 功能,交互式的确认需要 add 的改动:

    git add -p .
    dzdh
        25
    dzdh  
       2023-07-13 16:13:26 +08:00   1
    ztc
        26
    ztc  
       2023-07-13 16:18:22 +08:00   1
    hefang
        27
    hefang  
       2023-07-13 16:58:14 +08:00
    @daozun #12 正解。大部分人应该都不知道 git add -i
    gxvsko
        28
    gxvsko  
    &nbs;  2023-07-13 17:30:20 +08:00
    hikarugo
        29
    hikarugo  
    OP
       2023-07-14 09:03:03 +08:00
    @liutao5172 字体太小了,不能调。。。尽量不用了
    hikarugo
        30
    hikarugo  
    OP
       2023-07-14 09:08:24 +08:00
    @daozun
    @hefang 解脱了,感谢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2587 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 09:44 PVG 17:44 LAX 01:44 JFK 04:44
    Do have faith in what you're doing.
    ubao msn 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