1. 程式人生 > >Git簡單使用小結

Git簡單使用小結

基本操作

配置使用者資訊

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 開發分支,用於開發
    master分支

短期駐留的分支

  • feature 功能分支,開發分支的細分,用於開發部分功能,從develop分支引出,最後合併到develop分支中
    master分支
  • 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 功能分支開發功能 xx

# 從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

參考文獻