GIT
分佈式代碼倉庫,知名有國外的github(已被微軟收購)、gitee(開源中國),自己可以用gitlab來搭建內網的倉庫。svn需要一臺中心機器作爲倉庫,所有人都修改同一個倉,而git是分佈式的,每臺裝了git的電腦都有本地master分支,只是爲了統一代碼,就都傳到系統統一管理。
代碼的拉取和提交
首先下載代碼
git clone xxxx
代碼下載了,需要更新代碼
git pull
pull後如果和本地的commit有衝突,則先暫存目前的改動
git stash
pull成功後彈出暫存,把剛剛自己敲的代碼再和最新代碼合併
git stash pop
有些新文件要先加入git的管理
git add
開始提交代碼,寫上自己的註釋,這波代碼提交幹了啥
git commit -m
合併提交,讓一個提交更加純粹,學名 變基
git rebase
分支操作
創建分支
git checkout -b
查看分支
git branch
切換分支
git checkout xxx
合併分支
新特性的分支合入master
// 1.先切到master
git checkout master
// 2. 合入新特性分支
git merge newfuture
標籤
標籤的意義在於重要節點,比如上線、切分支等等需要標記的地方上設置標籤
創建標籤
git tag -a v1.0
查看標籤
git tag
查看命令
看看改了啥
git status
看看日誌
git log
俺常用的可視化工具
小烏龜
idea
分支管理,右下角
每行操作記錄:右鍵點擊Annootate,都跑不了
日常操作在這,或者對文件點擊右鍵也可
vscode
源代碼管理
可以看到修改的文件
三個小點可以快速操作git
左下角展示分支,並且點擊後可切換分支
基於gitlens,可以查看每行的作者及提交記錄
左側藍色標記,點擊後可以選擇提交行或者回退行的記錄
規範
設置commit信息規範
每次的代碼提交都很重要,留下清晰的信息更有利於項目的管理和突發情況,比如緊急回退。一般模板有
TicketNo: 需求單號
Description:描述
其中描述又可以分爲 「fix:」修復、「bug:」修改bug、「feat:」新特性三種。
// 1 . 新建一個文件,內容爲模板,如xx.txt
// 2. 設置git模板路徑指向該文件,其中路徑需自己補充
git config --global commit.template ../../xx.txt
代碼審批
並不是所有的弟弟都能提交之 gerrit
審批才能通過哦~
代碼門禁
MR時,會先把代碼進行一次CI,如果沒通過,則這次合併失敗。所謂的門禁其實就是對當前代碼審覈。不符合標準,同樣也不能合入代碼。