1. 前言
在Git中,分支是項目的不同版本,當開始開發(fā)一個新項目時,主分支通常是master分支。隨著項目的進展,你可能需要開發(fā)新的功能或修復bug,在這些情況下,你可以創(chuàng)建一個新的分支,以便在不影響主分支的情況下進行開發(fā)。
2. 基礎知識點
2.1. 分支區(qū)分
-
master
:用于版本的更新,當比較大的功能開發(fā)完成或者更新之后會有一次集體的發(fā)版,就會將所有的代碼都合到master
(有的公司也會用release
分支發(fā)版,原理都是一樣) -
dev
:一般是開發(fā)測試分支,在項目發(fā)版上線之前都會現(xiàn)在dev
分支上統(tǒng)一進行測試,確保功能達標沒有bug
之后再推到master
分支 -
feature
分支:用來做分模塊功能開發(fā),建議命名為feature-xxx-time
(也可能是其它命名方式,或者以_
分割等等),模塊完成之后,會合并到dev
分支; -
hotfix
分支:是用來做線上的緊急bug
修復的分支,建議命名為hotfix-xxx-time
。當線上某個版本出現(xiàn)了問題,將檢出對應版本的代碼,創(chuàng)建hotfix
分支,問題修復后,合并回dev
和master
,這里注意,合并到master
的時候,一般要打上修復后的版本標簽
示例:git branch feature-bulitProject-20230609
2.2. Git 代碼提交規(guī)范
-
feat
:代表本次提交代碼中包含了新增功能 -
fix
:BUG
和問題修復 -
refactor
:代碼重構,如方法改名、變量移動、包變更等,對應IDEA
中Refactor
(重構)操作 -
docs
:Git
倉庫中的文檔相關更新 -
style
:代碼格式修改,如縮進和空格調整 -
test
:測試代碼的調整 -
chore
:部署腳本、構建工具、依賴管理調整 -
revert
:撤銷之前提交的特殊說明
示例:git commit fix:修復xxx方法中數(shù)據(jù)轉換異常問題
2.3. 四個工作區(qū)域
-
Workspace
:工作區(qū)。就是你平時存放項目代碼的地方 -
Index/Stage
:暫存區(qū)。用于臨時存放你的改動,事實上它只是一個文件,保存即將提交到文件列表信息 -
Repository
:倉庫區(qū)(或版本庫)。就是安全存放數(shù)據(jù)的位置,這里面有你提交到所有版本的數(shù)據(jù)。其中HEAD
指向最新放入倉庫的版本 -
Remote
:遠程倉庫。托管代碼的服務器,可以簡單的認為是你項目組中的一臺電腦用于遠程數(shù)據(jù)交換
2.4. 文件的四種狀態(tài)
-
Untracked
:未跟蹤。此文件在文件夾中,但并沒有加入到git
庫,不參與版本控制,通過git add
狀態(tài)變?yōu)?code>Staged -
Unmodify
:文件已經(jīng)入庫,未修改,即版本庫中的文件快照內(nèi)容與文件夾中完全一致,這種類型的文件有兩種去處,如果它被修改, 而變?yōu)?code>Modified,如果使用git rm
移出版本庫,則成為Untracked
文件 -
Modified
:文件已修改。僅僅是修改,并沒有進行其他的操作,這個文件也有兩個去處,通過git add可進入暫存staged狀態(tài),使用git checkout
則丟棄修改過,返回到unmodif
狀態(tài),這個git heckout
即從庫中取出文件,覆蓋當前修改 -
Staged
:暫存狀態(tài)。執(zhí)行git commit
則將修改同步到庫中,這時庫中的文件和本地文件又變?yōu)橐恢?,文件?code>Unmodify狀態(tài),執(zhí)行git reset HEAD filename
取消暫存,文件狀態(tài)為Modified
2.5. 常用命令
git init
:在本地目錄中初始化一個新的Git
倉庫git clone
:克隆(復制)遠程倉庫到本地git add
:將文件添加到暫存區(qū)git commit
:提交暫存區(qū)中的文件到倉庫,并附帶提交信息git status
:查看倉庫當前狀態(tài)git diff
:查看工作區(qū)與暫存區(qū)之間、暫存區(qū)與最新提交之間的文件差異git show
:顯示提交記錄的詳細信息git log
:查看提交歷史記錄git branch
:列出、創(chuàng)建和刪除分支git checkout
:切換到指定分支或恢復工作區(qū)文件git merge
:將指定分支合并到當前分支git rebase
:將當前分支的修改移到目標分支的末端git pull
:從遠程倉庫拉取最新修改到本地分支git push
:將本地的修改推送到遠程倉庫git tag
:為提交打上標簽git reset
:重置當前分支到指定狀態(tài)git rm
:刪除文件git revert
:創(chuàng)建一個新的提交來撤銷指定的提交git remote
:管理遠程倉庫git config
:配置Git選項
2.6 注重點
- 查看本地用戶信息
git config user.name
// 獲取當前登錄的用戶git config user.email
// 獲取當前登錄用戶的郵箱- 修改git本地用戶信息
git config --global user.name 'userName'
// 修改登陸賬號git config --global user.email 'email'
// 修改登陸郵箱git config --global user.password 'password'
// 修改登陸密碼
3. IDEA分支管理
-
創(chuàng)建分支
-
切換分支
-
合并分支
-
回滾分支
-
解決沖突
解決上圖中的沖突方案如下:一般選擇
Merge
1.Accept Yours
:代表以自己的為準
2.Accept Theris
:代表以更新下來的文件為準
3.Merge
:代表手動合并文章來源:http://www.zghlxwxcb.cn/news/detail-824577.html
4.一些IDEA中Git操作的小技巧
4.1. 隱藏/顯示本地修改項
這個有點類似于Rollback+reset
文章來源地址http://www.zghlxwxcb.cn/news/detail-824577.html
到了這里,關于IDEA+Git——項目分支管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!