入職滿一個月了,目前咱們組是使用gitlab合做開發,在這裏總結了一下git的使用流程。這一套流程是我目前本身在用的,感受還不錯。css
git clone + URL //建立本地倉庫 git checkout origin/dev -b dev //拉取遠程dev分支到本地dev分支 git checkout -b ningliu //新建本身的本地分支ningliu(ningliu是個人名字) git push --set-upstream origin ningliu //把本身的本地分支同步到遠端分支 git checkout ningliu //確保在本身的本地分支操做
git add . //把本身的修改推送到本地index區 git commit -m "這裏寫提交的信息哦" //把本身的修改推送到head區,並附加提交信息
備註:不理解index區和head區等基本概念的推薦閱讀 git - 簡易指南。 這篇文章足夠了解基本概念了。git
我是將如下代碼保存成git.sh
文件,放在項目根目錄下,每次運行sh git.sh
便可自動實現如下命令。ide
#!/bin/sh if [ $? -ne 0 ]; then exit 1 fi MAIN="dev" # 將變量 ME 的值改成本身的分支名 ME="branch_name" git push # 把本地本身分支的修改推送到遠端本身分支 git pull # 拉取遠端本身分支的更新 git merge origin/${MAIN} # 把遠端dev分支合併到本地本身分支 git push # 把本地本身分支的修改推送到遠端本身分支 git checkout ${MAIN} # 切換到本地dev分支 git pull # 拉取遠端dev分支的更新 git merge ${ME} # 把本地本身分支合併到本地dev分支 git push # 把本地dev分支的修改推送到遠端dev分支 git checkout ${ME} # 切換回本身的本地分支
每行命令我已經加上了註釋。總之這幾行命令實現了本地和遠端本身的分支、本地和遠端的dev分支的同步。前四行是實現本身分支的最新化,後四行是實現dev分支的最新化。gitlab
若是同步過程當中遇到衝突,再自行解決。fetch
這是我目前最順手的git工做流程,若是有更好的實踐,歡迎你們一塊兒討論。ui
根據工做中遇到的場景愈來愈多,特此作一下補充:code
每次上線都要合併master,爲了保證代碼的新鮮度,這個時候能夠用如下命令合併master分支:開發
git fetch #下載一下遠程代碼 git merge orgin/master #把master分支合併到當前分支
先在gitlab上基於master新建一個新的修改bug分支,例如master_fix
而後使用如下命令:get
git fetch origin master:master_fix #拉取遠程分支到本地
須要修改的內容在這個分支修改就能夠了。同步