搜尋

首頁  >  問答  >  主體

Git 怎麼樣提交才會清晰?

假如我開發一個軟體需要用到git來管理,這個軟體有很多的功能模組,請問:

1、每實現一個功能功能就只commit一次嗎?

2、只要覺得有commit的必要就commit,例如修改個小bug,然後commit

我是新手,每次提交修改的文件都很多,很亂,有些修改還是跟這次commit無關的文件。

請問各位是怎麼做的呢? 謝謝。

PHPzPHPz2776 天前632

全部回覆(6)我來回復

  • 迷茫

    迷茫2017-04-24 09:15:44

    可以參考下git flow 我覺得可以從大的點上解決你的疑惑

    http://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.html

    一般會有這麼多分支 master develop 各種feature分支 bug_fix分支 hot_fix分支
    master一般是正式線上版,develop不用說,開發的,不過放在develop裡面的也已經是相對穩定的分支,而你要開發新的特性的時候,確保你在develop分支上新建一條feature_XXX分支,各種commit commit commit,
    如果後期發現之前的版本有某個bug,不影響線上的會建立一條bug_fix_XXX分支,而影響線上的嚴重bug則新建hot_fix分支,hot_fix與bug_fix不同,解決bug後會將hot_fix分支merge到master注意是master。

    另外,如果你想保持你分支整潔乾淨,你可能需要用到rebase來合併程式碼,而不是merge

    git的玩意兒推薦看下progit吧,非常之全面。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-24 09:15:44

    我通常是

    1. 分支 branch
    2. commit、commit、commit、commit …
    3. 修復了一個bug、或解決了一個問題 merge
    4. commit、commit、commit、commit … merge
    5. pull

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-24 09:15:44

    即使只是加了一行程式碼,也可一作為一個 commit。
    無關的程式碼不要提交到本次 commit。

    你要知道你要達到的效果是,如果有一天我要你回滾到某個歷史狀態,你能很快的找到那次提交並回滾。如果做不到這一點,你怎麼 commit 都無所謂了。
    例如某一次你將一個預設值由50改為100,那麼,這就應該作為一次提交。如果你順手修了一個 bug,也不能放在這次提交裡,要不然要怎麼回滾到 50 呢?難道你回滾了之後還要重新修復那個 bug 嗎?

    你不知道怎麼提交是因為你沒有一個確定的目的。

    我是這麼認為的。

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-24 09:15:44

    要很詳細的話,就只能一個具體的功能地提交了。
    不過好費事兒。
    另外,也可以使用git gui 中文提交,描述清楚點。

    回覆
    0
  • 迷茫

    迷茫2017-04-24 09:15:44

    這個隨意啊,主要還是為了以後自己或是別人看起來方便,能知道你commit的信息代碼裡改了那些,,,,與功能無關的頁面commit 信息裡我也會說清楚的。反正勤於commit的吧,一個功能提交一次肯定不夠的

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-24 09:15:44

    多用rebase,少用merge

    回覆
    0
  • 取消回覆