Git常用命令與分支管理命令(真實環境開發流程)

一. Git常用命令

1、git常用命令

echo "#Description" > README.md,      添加一個文件

git status,                             查看當前狀態,發現有未跟蹤文件

git add .,                            當前目錄所有文件添加到暫存區

git diff,                                比較當前工作區和暫存區有何不同

git status,                            查看當前狀態,發現有文件未提交

git commit -m "註釋",                把暫存區內容提交到本地倉庫

git push -u origin master,      把本地倉庫的提交推送到遠程倉庫

git log -2,                                   查看提交日誌

2、git分支管理常用命令

git branch               顯示所有分支

git branch b1           從當前分支創建一個叫b1的分支

git checkout b1         切換到b1分支

git checkout -b b1    相當於以上兩條命令的組合

git checkout master     切換到master主分支

git merge b1              把b1分支的代碼合併到master上

git branch -d b1          刪除b1分支,不能在被刪除分支上執行

3、命名規則

每次提交必須寫明註釋,如果是修復Bug,請加上Bug號

創建特性分支,名稱要以f-開頭,加上特性名

創建發佈分支,名稱要以r-開頭,加上預發佈版本號

創建Bug修復分支,名稱要以b-開頭,加上Bug號

創建標籤,名稱要以t-開頭,加上發佈版本號

9合併分支時必須使用--no-ff參數,以保留合併歷史軌跡

二. git分支說明

  1. master 主分支,穩定代碼,爲生產環境做準備的
  2. develop 開發分支,爲開發服務
    3. git的三個工作區域
  • 1)工作區: 就是你在電腦上看到的目錄,比如目錄下testgit裏的文件(.git隱藏目錄版本庫除外)。
  • 2)暫存區 : 暫存區就是文件夾 .git中的一個小部分(.git文件夾就是版本庫)
  • 3)版本庫 工作區有一個隱藏目錄.git,這個不屬於工作區,這是版本庫, 版本庫中還有Git爲我們

在這裏插入圖片描述

三. 真實環境開發流程

3.1自己創建django項目推送到倉庫

django-admin startproject demo2
cd demo2                          # 切換到項目路徑
git init                          # 初始化這個本地git倉庫
# git remote rm origin            # 如有路徑不一致可以先刪除現有的路徑       
git remote add origin http://192.168.56.12/devopsedu/demo2.git    #設置代碼提交url路徑
touch Readme                      # 新建一個項目文件(工作區)
git add .                         # 把工作區中所有變更全部提交到(暫存區)
git commit -m 'init'              # 把暫存區代碼提交到本地git倉庫,只有提交到代碼庫才能被git管理(本地git倉庫)
git push origin master            # 將本地倉庫的代碼推送到線上倉庫(線上git倉庫)
# 代碼回滾
git log                        #查看所有提交到倉庫的版本記錄:   git log -2
git reflog                     #查看所有操作記錄(狀態的md5值和改變的值)
git reset --hard d9e0ed0       #回到指定版本(d9e0ed0是創建版本的MD5值得前6位或者7位)
git reset --hard HEAD^         #回到上一個版本
注:這樣可以回到第一次提交到倉庫的狀態,但再使用git log看不到其他幾次的md5值了

3.2 在本地創建一個dev分支,開發完成後合併到master分支

'''1. 從master分支切換到dev分支進行開發並推送到dev分支的過程'''
git checkout -b dev master    # 從master分支創建dev開發分支
git branch                    # 可以看到現在已經切換到dev分支了
vim Readme                    # 模擬在項目中修改代碼
git add .                     # 把工作區中所有變更全部提交到(暫存區)
git commit -m 'in dev'        # 把暫存區代碼提交到本地git倉庫(本地git倉庫)
git push origin dev           # 把代碼先推倒dev分支,讓測試人員測試

'''2. 當測試人員測試完成後將dev分支代碼合併到master形成文檔版本'''
git checkout master           # 開發完成後,需要合併回master分支,先切換到master分支
cat Readme                    # 可以看到master分支的內容沒有修改
git merge --no-ff dev         # 將剛剛dev中修改的代碼合併到master
git push origin master        # 將本地倉庫的代碼推送到線上倉庫(線上git倉庫)

四 特性分支:feature (開發分支合併到dev分支)

從develop分支創建,用於特性開發,完成後要合併回develop分支。
  操作過程:

git checkout -b feature-01 dev              從dev分支創建 feature-01 特性分支
git checkout dev                          開發完成後,需要合併回dev分支,先切換到dev分支
git merge --no-ff feature-01                  合併回develop分支,必須加--no-ff參數
git status                                               查看當前有哪些文件有衝突
git diff readme.txt                                  查看衝突文件詳情
git add readme.txt                                將解決衝突後的文件添加到暫存區
git commit -m "conflict fixed"                 所有衝突解決後提交到版本庫
git log --graph                                        查看分支合併圖
git branch -d feature-01                         刪除特性分支
git push origin dev                                  把合併後的develop分支推送到遠程倉庫

衝突標記:

# 比如在dev分支上,將特性分支 feature-01  合併到dev分支中
git merge --no-ff feature-01   # 執行此命令

<<<<<<< HEAD
Creating a new branch is quick & simple.   # dev分支中的代碼
=======
Creating a new branch is quick AND simple.  # feature-01 中的衝突代碼
>>>>>>> feature1

在這裏插入圖片描述

2、遠程分支版本回退的方法

  • git reflog
  • git reset --hard Obfafd
  • git push -f origin dev

五. 發佈分支:develop

從develop分支創建,用於預發佈版本,允許小bug修復,完成後要合併回develop和master。
  操作過程:

git checkou -b release-1.2 dev         創建一個發佈分支 
git checkout master                 切換到master分支,準備合併 
git merge --no-ff release-1.2          把release-1.2分支合併到master分支 
git tag 1.2                      從master分支打一個標籤 
git checkou dev                   切換到develop分支,準備合併 
git merge --no-ff release-1.2           把release-1.2分支合併到dev分支 
git branch -d release-1.2            刪除這個發佈分支

六. 修復分支:bug

從master分支創建,用於生產環境上的Bug修復,完成後要合併回develop和master。
  操作過程:

git checkout -b hotfix-1.2.1 master      從master分支創建一個Bug修復分支 
git checkout master                切換到master分支,準備合併 
git merge --no-ff hotfix-1.2.1         合併到master分支 
git tag 1.2.1                    爲master分支創建一個標籤 
git checkout develop                切換到develop分支,準備合併 
git merge --no-ff hotfix-1.2.1         合併到develop分支 
git branch -d hotfix-1.2.1            刪除hotfix-1.2.1分支 

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章