git 刪除本地分支和遠程分支、本地代碼回滾和遠程代碼庫回滾


【git 刪除本地分支】

git branch -D br

 

【git 刪除遠程分支】

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指針。。。不建議這樣搞

 

轉載自:http://m.blog.csdn.net/blog/lihongli528628/45483463


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM