git 操作規範 (適用於公司團隊協作)

1:在公司的協作中git的操作都是很重要的,git 提交分爲以下幾個步驟:
首先創建向總項目提交需要創建自己的bug id號
git status查看修改過操作過的文件 git add <filename> 添加對應的文件
在git status查看添加本地倉庫是否成功
git stash 你想要切換分支但是你不想變更自己改動的東西就需要暫時儲存起來
git checkout -t -b xxx-2650 origin/master 切換屬於自己的分支
git stash pop 釋放剛纔你儲存的文件
git commit -m "bug id:2650" 提交自己的bugid
git commit --am 進入編輯模式編輯提交信息
s 編輯  bugid:2650 desc:描述 tests:本地測試
按住esc退出編輯 :wq保存 
git push origin xxx-2650:xxx-2650


2:再次提交之前的信息需要:
git pull 
git add 對應文件
git commit -m ""
git commit -m

3:如果你提交的沒有被merge
這個就需要你刪除本地分支和遠程分支再次創建提交
或者是直接強制提交,強制提交的話會直接覆蓋你之前的內容對團隊協作有影響這個不建議操作
git push origin suxx-2650:suxx-2650 -f 這個是強制提交
刪除遠程分支和本地分支
git branch -D br   刪除本地分支
git push origin :br  (origin 後面有空格) 刪除遠程分支

代碼回滾
git代碼庫回滾: 指的是將代碼庫某分支退回到以前的某個commit id

【本地代碼庫回滾】:

git reset --hard commit-id :回滾到commit-id,講commit-id之後提交的commit都去除

git reset --hard HEAD~3:將最近3次的提交回滾

【遠程代碼庫回滾】:

這個是重點要說的內容,過程比本地回滾要複雜

應用場景:自動部署系統發佈後發現問題,需要回滾到某一個commit,再重新發布

原理:先將本地分支退回到某個commit,刪除遠程分支,再重新push本地分支

操作步驟:

1、git checkout the_branch

2、git pull

3、git branch the_branch_backup //備份一下這個分支當前的情況

4、git reset --hard the_commit_id //把the_branch本地回滾到the_commit_id

5、git push origin :the_branch //刪除遠程 the_branch

6、git push origin the_branch //用回滾後的本地分支重新建立遠程分支

7、git push origin :the_branch_backup //如果前面都成功了,刪除這個備份分支

如果使用了gerrit做遠程代碼中心庫和code review平臺,需要確保操作git的用戶具備分支的push權限,並且選擇了 Force Push選項(在push權限設置裏有這個選項)

另外,gerrit中心庫是個bare庫,將HEAD默認指向了master,因此master分支是不能進行刪除操作的,最好不要選擇刪除master分支的策略,換用其他分支。如果一定要這樣做,可以考慮到gerrit服務器上修改HEAD指針。。。不建議這樣搞
 

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