1.合作開發(fā)分支流程
- master是穩(wěn)定的主分支。
- 有新功能需求時
master: git checkout -b feature/2020-04-22_feature_name_1
/**
問:為什么出現(xiàn)一個新需求時要建一個新的分支來做而不是所有的變動一直用cat這個分支來做?
答:因為如果用cat做新需求的途中commit多次(因為新需求功能比較多,做完一個子功能commit一次),然后在中途發(fā)現(xiàn)項目兩個bug,commit兩個修復(fù)bug,然后又commit多次完成新需求,然后等窗口一起發(fā)布上線,但是上線后發(fā)現(xiàn)修復(fù)的bug沒問題,新需求有問題,于是回滾,1.回滾了后修復(fù)的bug代碼也回滾了,導(dǎo)致線上還是有bug,2.發(fā)布窗口到了,新需求還沒完成但是要修復(fù)線上bug,無法發(fā)布,因為修復(fù)bug的commit和新需求的commit交雜在一起了,
結(jié)論: bug修復(fù)單獨一個分支,新需求單獨一個分支
*/
- 開發(fā)
feature/2020-04-22_feature_name_1 : git add .
feature/2020-04-22_feature_name_1 : git commit -m ""
feature/2020-04-22_feature_name_1 : git push
//git push需要先和遠(yuǎn)程分支建立連接
- 發(fā)布
master : git pull
master : git checkout feature/2020-04-22_feature_name_1
feature/2020-04-22_feature_name_1 : git merge master
feature/2020-04-22_feature_name_1 : git checkout -b release/2020-05-12_feature_name_1
release/2020-05-12_feature_name_1: git push
- release分支發(fā)布后生產(chǎn)驗證沒問題
master : git merge release/2020-05-12_feature_name_1
2.git命令
用idea的VCS->git->clone
git checkout cat
git checkout - //切換到上一個分支
git checkout -b cat
git branch --set-upstream-to=origin/cat cat
git push origin cat:cat
git fetch //同步一下倉庫,可有可無,如果拉取不到遠(yuǎn)程分支,則是必要的
git checkout -b cat origin/cat //第一種
git fetch origin cat:cat //第二種
git checkout master // 切換到master分支
git branch -d cat // 刪除本地cat分支
- 查看工作區(qū),暫存區(qū),版本庫的區(qū)別
git status
//不如直接用idea的VCS->git->commit file的可視化界面來的清晰直觀
git log
git log –graph
//不如用idea的Version Control -> log -> 選擇branch 界面來的清晰直觀
git reset –hard HEAD^ //回退上一個版本
git reset –hard HEAD^^ //回退上上一個版本
git reset –hard 3628164 //回退到指定版本 后面的版本號可從上一條命令的log中得到
git stash show //查看另存區(qū)的內(nèi)容
git stash //目前已改動的地方放入另存區(qū)
git stash pop //取回另存區(qū)的改動
git checkout . && git clean -xdf
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。