溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Git代碼提交流程及git命令的示例分析

發(fā)布時間:2021-09-07 09:21:50 來源:億速云 閱讀:133 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下Git代碼提交流程及git命令的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

基本了解

git命令是一些命令行工具的集合,它可以用來跟蹤,記錄文件的變動。比如你可以進行保存,比對,分析,合并等等。這個過程被稱之為版本控制。已經(jīng)有一系列的版本控制系統(tǒng),比如SVN, Mercurial, Perforce, CVS, Bitkeepe等等。

Git是分布式的,這意味著它并不依賴于中心服務(wù)器,任何一臺機器都可以有一個本地版本的控制系統(tǒng),我們稱之為倉庫。如果是多人協(xié)作的話,你需要還需要一個線上倉庫,用來同步信息。這就是GitHub, BitBucket的工作。

自己用Git有一段時間了,隨著項目越來越多,功能分支也隨之增加,從簡單的基礎(chǔ)命令到隨心所欲,需要自己不斷地去嘗試總結(jié),下面來分享一下我的Git使用總結(jié)。

一、Git版本分支管理

以下是一個比較基本的分支管理示范,每個公司的項目管理運作不同,分支管理也有各自的特色,但萬變不離其宗。

1) dev分支用于日常開發(fā)

2) 當(dāng)有新版本需要發(fā)布時,把dev代碼合并到release分支做集成測試,并等待發(fā)布

3) release分支進入bug修復(fù)階段

4) 如果在release分支發(fā)現(xiàn)bug,那么在release分支進行修改,并使用git cherry-pick把修復(fù)bug的commit合并到release分支上

(cherry-pick與merge不同,它的合并是以commit為單位而非整個branch)

完成后,release分支上所有代碼改動(除版本號之外)都應(yīng)該已經(jīng)合到了dev分支上

5) release分支測試完成后,發(fā)布到線上環(huán)境

6) 并且打上tag,合并到master分支上

7) 如果在線上出現(xiàn)bug,那么在master上hot fix修復(fù)

8) 出現(xiàn)hot fix并修復(fù)后,需要重新把hot fix的代碼合并到dev以及release分支中去使代碼保持一致

Git代碼提交流程及git命令的示例分析二、Git基本命令匯

 二、Git基本命令匯總

1.查看本地文件狀態(tài)

git status  —-查看本地、本地倉庫、緩存(stash)的文件修改狀態(tài)

—紅色 代表本地工作空間的文件修改

—藍色 代表提交到本地倉庫中的文件(git add .)

2.切換版本/覆蓋當(dāng)前修改文件

git branch - 查看當(dāng)前版本

git branch -a 查看所有版本

git checkout XXX(版本名)  —-切換到遠(yuǎn)程庫中XXX版本

git checkout filepath    —覆蓋當(dāng)前修改的文件

git checkout .           -覆蓋當(dāng)前所有修改文件

3.從遠(yuǎn)程庫獲取最新代碼

git remote -查看遠(yuǎn)程庫名稱

git remote -v  

git remote show XXX(遠(yuǎn)程庫名)

git fetch — 從remote端拉取最新代碼

git pull XXX(遠(yuǎn)程庫名) XXX(分支名)  -把拉取的最新代碼跟當(dāng)前工作空間合并

git rebase —把遠(yuǎn)程拉回的代碼和本地合并

4.緩存本地代碼

當(dāng)要切換到其它版本時,想保存在當(dāng)前版本修改的文件:在切換前做

git stash   —-把本地修改過不需要提交的文件放入緩存

git checkout XXX(版本)   —切換庫版本

切回原來的庫,把文件從stash緩存中拿出來

git stash pop — 從緩存中拉出

5.提交遠(yuǎn)程庫

git add .

git commit -m ''

git remote 查看遠(yuǎn)程關(guān)聯(lián)名稱

git push remote的名稱 本地master

6.處理沖突

git fetch 拉取最新工程

git pull XXX(遠(yuǎn)程庫名) XXX(分支名)  -把拉取的最新代碼跟當(dāng)前工作空間合并

沖突產(chǎn)生后,去工作空間修改后,>>>新代碼===老代碼<<<,保留最終代碼,刪除提示符,重新提交。

7.把本次提交的內(nèi)容提交到其他分支(比如發(fā)布時bug的修改)

git cherry-pick commitId

8.建議執(zhí)行順序

git status 查看修改狀態(tài)

git checkout filename 放棄某文件的修改。

git stash 儲存修改

git fetch 拉取最新工程

git rebase 與本地分支合并

git stash pop 彈出儲存文件,此時新文件可能會與你的文件產(chǎn)生沖突,解決沖突。

git add filename 添加某個修改文件

git add . 提交所有加點

git reset HEAD filename 回滾指定文件,回滾所有加點:"git reset HEAD . "

git commit -m''

git push 本地remote遠(yuǎn)程分支名,本地分支名

例我的本地分支為master 遠(yuǎn)程remote 別名為 origin 則提交為git push origin master

9.切換HEAD

git reflog --查看HEAD記錄

git reset --hard HEAD^       //切換到之前一個HEAD 

git reset --hard fad4462      // 切換到某個已經(jīng)回退的HEAD

10.刪除 local branch

git branch -d <branch_name>

以上是“Git代碼提交流程及git命令的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

git
AI