Git簡單使用小結
阿新 • • 發佈:2018-12-12
基本操作
配置使用者資訊
git config --global user.name "username"
git config --global user.email "useremail"
克隆
clone命令:
git clone <repository地址>
從遠端取回更新
為了安全起見,最好將遠端倉庫master分支的更新取回到本地臨時分支中
# git fetch origin 遠端分支名:本地分支名
git fetch origin master:temp
然後比較當前分支和temp分支的不同
git diff temp
如果沒有問題,使用merge將temp分支合併到當前分支
git merge temp
然後刪除分支temp
git branch -d temp
將本地的改動提交到遠端
1. 簡單版,較適合一個人專案
首先將工作區所有的改動新增進去暫存區
git add -A
再將暫存區的所有改動提交到分支中,此處為預設分支master
git commit -m "對提交的註釋"
然後將分支推送到遠端
git push origin master
2. 複雜版,較適合團隊專案,更加安全
首先建立一個分支,分支命名最好體現本次改動的特點和目的
git branch NewBranchName
切換到新分支
git checkout NewBranchName
然後將工作區的所有改動新增到暫存區
git add -A
再將暫存區的所有改動提交到分支中,此處為分支NewBranchName
git commit -m "對提交的註釋"
然後將分支推送到遠端
git push --set-upstream origin NewBranchName
最後在網站上建立一個pull request,合併到主分支裡面.
長期駐留的分支
- master 主分支,用於保持倉庫最新的穩定程式碼
- develop 開發分支,用於開發
短期駐留的分支
- feature 功能分支,開發分支的細分,用於開發部分功能,從develop分支引出,最後合併到develop分支中
- release 釋出分支,用於測試開發完成的程式碼,從各develop分支中引出,測試程式碼,最後合併到develop和master分支中
- hotfix 補丁分支,用於對已開發的功能進行修補,從master引出,修改錯誤,然後合併到develop和master分支中
開發流程
1. 更新本地develop分支
如果本地有develop分支,從遠端取回更新:
git checkout develop
git fetch origin master:temp
git merge temp
git branch -d temp
若本地沒有develop分支:
# 從master建立develop分支
git checkout -b develop master
2. 開發程式碼
若需要使用feature 功能分支開發功能 :
# 從develop建立feature-x分支
git checkout -b feature-x develop
開發
# 提交feature-x分支修改
git add
git commit -m "提交的註釋"
# 合併到develop分支
git pull origin develop # 先拉取develop中的程式碼,因為有可能遠端倉庫的程式碼被修改了
git checkout develop
git merge --no-ff feature-x
git push origin
# 刪除feature-x分支
git branch -d feature-x
若不需要使用feature 功能分支,則直接在develop上開發就好
# 切換到develop分支
git checkout develop
開發
# 提交feature-x分支修改
git add
git commit -m "提交的註釋"
# 提交到develop遠端分支
git fetch origin develop:temp # 先拉取develop中的程式碼,因為有可能遠端倉庫的程式碼被修改了
git merge temp
git branch -d temp
git push origin
# 刪除feature-x分支
git branch -d feature-x
3. 開發完成,提交更新
可以先提交到本地的master分支,再由master分支推送到遠端
# 從develop建立release分支
git checkout -b release-1.2 develop # 1.2為版本號
測試修改程式碼
# 合併到本地master分支
git checkout master
git merge --no-ff release-1.2
git tag -a 1.2 # 對合並生成的新節點打一個標籤
# 本地master推送到遠端master
git add -A
git commit -m "對提交的註釋"
git push origin master
# 合併到develop分支
git checkout develop
git merge --no-ff master
# 刪除release分支
git branch -d release-1.2
這裡建議使用pull request:
git checkout -b release-1.2 develop # 1.2為版本號
測試修改程式碼
# 提交程式碼到遠端
git add -A
git commit -m "對提交的註釋"
git push --set-upstream origin release-1.2
web上建立一個pull request,合併到master分支裡面
# 本地master取回更新
git checkout master
git fetch origin master:temp
git merge temp
git branch -d temp
# 合併到develop分支
git checkout develop
git merge --no-ff master
參考文獻