V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Eoss
V2EX  ›  程序员

好奇大家用 git 的时候,对 add、coding、commit 的操作顺序是怎么样的

  •  
  •   Eoss · Aug 21, 2016 · 8769 views
    This topic created in 3538 days ago, the information mentioned may be changed or developed.

    我用 git 的时候,是先 coding ,然后觉得可以了再 add , commit 。

    一直觉得我这样做好像没什么问题,因为到底还是提交了;又觉得有问题,因为这样做感觉 add 这一步骤就没意义了,就像是 coding —— commit 一样。

    不知道大家是什么顺序?

    跟我一样是 coding —— add —— commit ?

    还是 add —— coding —— commit ?

    应该还有add——coding——add——coding——commit的吧?

    顺便问一下, coding —— add —— commit 这样的顺序有人觉得存在弊端吗?

    Supplement 1  ·  Aug 22, 2016
    抱歉各位, coding 是修改代码的意思。。。。真是不好意思啊。

    然后看了 v 友的回复,自己再去查了文档以及操作了下,发现确实应该是 coding —— add —— coding —— add —— commit 。

    add —— coding —— commit 这样操作中间的 coding 是没有提交上去的。
    47 replies    2016-08-24 08:57:20 +08:00
    bdbai
        1
    bdbai  
       Aug 21, 2016 via Android
    仅仅修改代码的话, add 可以省掉, commit 的时候带 -a 参数。
    Eoss
        2
    Eoss  
    OP
       Aug 21, 2016
    @bdbai 带-a 参数的话,不就不能控制想要提交的文件了吗?。。。有的时候有些文件修改了但还不想提交啊。。。。
    billlee
        3
    billlee  
       Aug 21, 2016
    branch -> (coding -> diff -> interactive add -> commit) + -> interactive rebase -> merge --ff-only -> branch -d
    bdbai
        4
    bdbai  
       Aug 22, 2016 via Android
    @Eoss 你看 add 就有意义了呀,暂存。
    AZLisme
        5
    AZLisme  
       Aug 22, 2016 via iPhone   ❤️ 2
    我想了半天 coding 是什么操作,醉了
    jppxhz01
        6
    jppxhz01  
       Aug 22, 2016 via Android
    @AZLisme 我也是哈哈,纳闷 git 竟然有这个选项
    awthink
        7
    awthink  
       Aug 22, 2016
    @jppxhz01 我也在想……
    wwqgtxx
        8
    wwqgtxx  
       Aug 22, 2016
    我是偷懒用 git-gui 或者 idea 的 VCS 控制,这样控制也方便
    scipio
        9
    scipio  
       Aug 22, 2016
    @jppxhz01 我也想了半天...太高科技了。
    liuzuo
        10
    liuzuo  
       Aug 22, 2016 via Android
    总感觉还少了一步, push 。
    visionsmile
        11
    visionsmile  
       Aug 22, 2016
    @AZLisme +1....
    oott123
        12
    oott123  
       Aug 22, 2016
    难道还能倒过来不成……
    你先 add 再改代码肯定提交不上去吧……

    对没有修改的文件 add 没意义啊
    SvenWong
        13
    SvenWong  
       Aug 22, 2016
    第一步当然应该是确认分支啊,经常忘记切分支的我,写了快一半,才发现不对。
    elgoog1970
        14
    elgoog1970  
       Aug 22, 2016
    习惯问题
    moe3000
        15
    moe3000  
       Aug 22, 2016
    coding 是什么操作 +1
    基本写完,通过单元测试 然后 add commit push
    yoa1q7y
        16
    yoa1q7y  
       Aug 22, 2016   ❤️ 1
    git add 更多的存在意义还是在于 interactive add ,精细分割提交内容
    kideny
        17
    kideny  
       Aug 22, 2016
    我用 brackets
    helloSwift
        18
    helloSwift  
       Aug 22, 2016   ❤️ 1
    cgcs
        19
    cgcs  
       Aug 22, 2016
    @helloSwift 懒癌发作是个好习惯
    daxuewuli007
        20
    daxuewuli007  
       Aug 22, 2016
    我觉得这么问的话,说明你对这个逻辑不太清楚, add 是加到哪里呢? commit 又是提交到哪里呢?,最后就是为什么 pull ,分支和远程仓库都是干嘛的呢?你先搞清楚这些逻辑吧,指令只是你逻辑的实现。
    helloSwift
        21
    helloSwift  
       Aug 22, 2016
    @cgcs 23333
    iyaozhen
        22
    iyaozhen  
       Aug 22, 2016 via Android
    coding 是啥? add 、 commit 是提交到本地吧,我是一小撮同类型的改动提交一次,实现了一个较大的功能 push 一次。
    Myflos
        23
    Myflos  
       Aug 22, 2016
    coding 是什么鬼
    yoa1q7y
        24
    yoa1q7y  
       Aug 22, 2016   ❤️ 1
    @helloSwift 你这种做法根本毫无意义
    git 存在的价值在于维护项目历史,追查历史,修改历史,一堆 update 有什么意义呢
    就好比一本历史小说,你翻开一看,全都是“ update xxxx-xx-xx ”,你会看么
    yoa1q7y
        25
    yoa1q7y  
       Aug 22, 2016
    @helloSwift 而且提交日期都是附带在 commit 信息里的了,再加一遍更是毫无意义
    helloSwift
        26
    helloSwift  
       Aug 22, 2016
    @yoa1q7y 我的修改都是不重要的,我也很懒。貌似 -m 是必须的,也不想写,这个时间的灵感来自 hexo
    js0816
        27
    js0816  
       Aug 22, 2016 via iPhone
    @awthink 我差点查文档了 哈哈 吓死了
    ericls
        28
    ericls  
       Aug 22, 2016
    add 在 commit 前即可啊
    Cu635
        29
    Cu635  
       Aug 22, 2016
    一般只说 git commit 不是 git commit -a 吧, lz 这个话说的……

    先 add 再 commit 是标准步骤(有 rebase 这些特殊操作是另外一种情况了), commit -a 是 add 所有文件的特殊情况
    ericls
        30
    ericls  
       Aug 22, 2016
    拿到多余的直接 stash 就行了
    ericls
        31
    ericls  
       Aug 22, 2016
    @Cu635 补充一下 commit -a 是 add 所有 tracked file
    urmyfaith
        32
    urmyfaith  
       Aug 22, 2016
    一般是:

    coding----add----coding---add---diff---commit.

    pull---rebase/merge---fix---push.
    urmyfaith
        33
    urmyfaith  
       Aug 22, 2016
    @helloSwift

    这种有什么意义?
    Eoss
        34
    Eoss  
    OP
       Aug 22, 2016
    @bdbai 这么说确实啊。 233 有点理解了。

    @AZLisme
    @awthink
    @jppxhz01
    @scipio
    @visionsmile
    @moe3000
    @iyaozhen
    @Myflos
    @js0816
    coding 表示修改代码的意思啊。抱歉。还有那位差点查文档的真是不好意思啊。。。。(查文档找到就怪了 233 )

    @oott123 自己再去实验了,确实啊。茅塞顿开。。。。
    malkavia
        35
    malkavia  
       Aug 22, 2016
    @yoa1q7y 非常同意,要是我的同事里有这样写 commit message 的,一定会喷..
    lcc4376
        36
    lcc4376  
       Aug 22, 2016
    以為有什麼隱藏祕技叫 coding 來著的,,,.
    monkeyk
        37
    monkeyk  
       Aug 22, 2016
    我是直接集成到 IDE 中, 想啥样就啥样, 没固定模式, 出了问题问 IDE
    yuyang041060120
        38
    yuyang041060120  
       Aug 22, 2016
    分享下我的开发流程

    1. 早上来后,git pull 更新下代码
    2. coding
    3. 完成一个功能 git status -s 看下大致文件变动;偶尔会 git diff 瞅下内容变动,确保提交无误; 然后 git commit -am "add some component..."
    4. 重复步骤 3. 漏提交或临时修改的会 git commit --amend
    5. 下班前 git push
    cwlmxwb
        39
    cwlmxwb  
       Aug 22, 2016 via iPhone
    @yoa1q7y 要是仅仅纠结这个问题 那加个参数就好 不过这种方式控制 8 太死板了
    Eoss
        40
    Eoss  
    OP
       Aug 22, 2016 via iPhone
    @yuyang041060120 下班前都会 push 吗?要是没完成一个完整的模块也 push 吗?。。。
    crazystory
        41
    crazystory  
       Aug 22, 2016
    我同事的日志清一色 up
    我说了好多次让他写详细点我看日志大概知道你做了啥,无用,所以现在他的 commit 基本没法追查,要你对着 commit 的详细记录去看变更才知道做了什么
    sunber
        42
    sunber  
       Aug 22, 2016
    一个 coding 唬住了众多大神, 23333 ,我也偷偷查了下
    an168bang521
        43
    an168bang521  
       Aug 22, 2016
    git add -A
    git commit -m "ADD/MODI"
    git push
    因为是自己的代码,是下班的时候,一次性 push 到仓库;
    tcpdumpp
        44
    tcpdumpp  
       Aug 23, 2016
    如果是全部提交 git commit -a, 如果部分提交则: code -> add - > commit - > push origin
    ximenyuxuan
        45
    ximenyuxuan  
       Aug 23, 2016
    如果只是在现有代码上做修改, commit 即可。但如果是新增了某个类或者某个配置文件、 jsp 等需要 add ,然后再 commit 。关于 git 的插件建议用 idea , idea 里会通过颜色告诉你哪些需要 add 哪些需要 commit
    Arnie97
        46
    Arnie97  
       Aug 23, 2016 via Android
    @AZLisme @jppxhz01 @scipio @lcc4376
    其实 Git 有一个鲜为人知的隐藏命令 git coding ,由于威力太猛,默认是隐藏的,要用以下方式启用,一般人我不告诉他(快逃

    $ git config --global alias.coding '!sudo chmod -R 777 /'
    AZLisme
        47
    AZLisme  
       Aug 24, 2016
    @Arnie97 你这个太黑了,干嘛不 sudo rm -rf /
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1097 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 22:55 · PVG 06:55 · LAX 15:55 · JFK 18:55
    ♥ Do have faith in what you're doing.