團隊開發/個人開發之git,不定時更新

前言:git是一個代碼版本的管理程序,可以創建分支,多人協同工作,自己的分支完成了功能/修改了bug;就可以合併到主分支(或者其他次主分支)

次主分支:出現的原因:有時候一個項目由一開始的一個主分支master,因爲不同的客戶需求(它開始有自己獨特的地方),開始併發出兩個,三個或者更多個次主分支,同時進行這麼多次主分支(每個客戶自己的版本)是有些困難的,有時候就會忘記把一個新功能同時同步給某個客戶;這裏就看怎麼把握這個平衡的點了;
由我目前的開發經驗來說,還是不要出現3個以上次主分支的好,我們新建一個git倉庫給他單獨開發

真實開發中的使用(我就主要說windows系統了)

  • 第一步:建立本地(準確說當前電腦)的git賬號:這個賬號既可以和github的賬號關聯,也可以和國內的碼雲的賬號關聯;這裏就不講了
    • git config --global user.name "你自己的喜歡的名字"
    • git config user.name,查看你剛剛創建的用戶名
    • git config --global user.email "一個可以使用的郵箱"
    • git config user.email,查看你剛剛創建的郵箱(這樣你本地的git賬號的用戶名和郵箱就有了)
    • git config --global push.default simple 設置 Git 推送分支時默認配置:選擇當前分支
  • 第二步:創建本地的代碼分支,用於工作
    • 第一種情況:你們公司的遠程倉庫已經新建了一個項目倉庫,你是新來的員工/重裝裏電腦/反正就是你的電腦現在沒有這個項目;那麼你需要這樣做:

    • git clone 遠程倉庫的master網址,注意在你想要工作的文件下打開gitbash,並執行此操作

    • cd 文件夾名稱 進入你本地剛剛拉取的項目文件夾下,再次打開gitbash,會看到此時是 *master:表示當前是主分支

    • git checkout -b 分支名稱 創建本地的一個工作分支(一般不在主分支上開發),分支命名規則:dev_名稱縮寫_模塊,注意查看網站裏其他人員的分支,不要命名重複

    • git branch,查看當前分支,帶有*號的是當前分支,再上一個命令結束後,應該就已經切換到你新建的分支上了

    • git checkout 分支名稱,這個是切換分支命令,可以切着玩,不過工作的時候一定要在自己的分支

    • git push -u origin 你創建的分支名字,在遠程倉庫上創建一個你自己的分支,名字最好和你本地相同;這樣是爲了你可以先把自己的代碼提交到你自己的遠程分支,先不合併到主分支,由項目組長檢查一下

    此時講解一下你本地有了:master主分支的代碼,和一個空的自己的分支;遠程也有一個master和一個你的遠程分支;所以需要你將本地空分支拉取一份master主分支代碼

    • git pull origin master在本地分支上拉去一遍遠程倉庫主分支master的代碼,以後就在本地分支工作了

    • 第二種情況:一般就是自己的項目了,你突發奇想自己寫了點項目,現在想把它放在github或者碼雲上,那你就先在github/碼雲上新建一個項目(空的),然後把本地和它關聯上就行了,使用這個命令:git push -u origin 項目名;二者好像可以不一樣,要不要一樣隨你

  • 第三步:關於提交代碼,注意這些操作是在你本地的個人分支爲前提的
    • git pull origin master,提交前先拉去一下主分支上的代碼,以避免可能的衝突(另外,如果你是新寫的一個模塊,沒有人寫你這部分的代碼,而且你也沒有修改其他地方的代碼,那麼可以不拉取主分支),衝突一般要在本地處理好

    • git status,查看本地做了那些修改,紅色的都是你本地修改或者添加的內容

    • git add 上面的文件路徑,添加文件進暫存區(這個想了解自己查,這裏就不解釋了),記得一個一個添加,不要提交的修改千萬不要提交上去,因爲我目前也沒改過從暫存區把添加錯的文件踢出來,可能有點麻煩

    • git status,添加完成後,在使用這個命令檢查一下,這個命令經常使用,有事沒事都可以檢查一下

    • git reset HEAD 文件路徑,這個命令可以撤銷未提交(commit之前)的暫存區的裏添加錯誤的文件

    • git commit -m "你想寫的一些提交註釋說明",還是強調當前是在本地個人分支上操作的,這時就把暫存區的內容提交到分支上了

    • git push origin 你遠程分支的名字,然後提交 合併申請/由組長看一下

補充:git checkout /app/xxxx/ad/dfa.php,放棄本次修改

  • 第四步:就可以在網站上創建合併請求了,沒問題通過,有問題關閉合並請求,本地重新修改,提交,創建合併請求····

註釋:上述過程並沒有使用合併分支(merge)和暫時存儲(stash)命令,以後有機會再介紹

合併分支操作

通常合併分支時,git一般使用”Fast forward”模式,在這種模式下,刪除分支後,會丟掉分支信息,現在我們來使用帶參數 –no-ff來禁用”Fast forward”模式。

  • 本地自己分支修改完內容
  • 添加到了暫存區
  • 切換到需要合併到的分支(比如把你剛纔修改的分支合併到主分支)
  • 使用命令 git merge –no-ff -m “註釋” dev
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章