git 退回到指定tag版本


可能用到的命令:

  查看當前分支:git branch

    切換分支:git checkout master(分支名)

  查看tag:git tag

  查看當前git狀態:git status

  顯示所有提交過的版本信息: git log

  查看所有分支的所有操作記錄: git reflog

1. 查看某個tag的詳情:git show v1.3.5 

  返回:commit  backid(回退命令就用這個id)

2. 通過commit的id回退:git reset --hard backid

  如果這個時候你立馬投入與bug的戰斗,修改后發版本,那么你就犯了嚴重的錯誤,因為你修改后的代碼是無法與正在開發的版本合並噠,也就是說你的修改並不能加入現有的代碼。所以: 特別注意:通過標簽回退版本后,要馬上拉一個分支,然后當前主干分支要立即回到原來的位置,否則正在開發的代碼可能白干了,接着在剛拉的分支上修改bug,修改完畢合並到主干上 (驗證過,是對的)

3. 回退版本后,立即拉取分支,這里取名bugfix分支:git checkout -b bugfix

4. 請先回到主干分支上:git checkout master 

5. 切換到bugfix分支,修改bug。就可以按照原先的開發流程繼續工作

 

操作過程中容易出現直接checkout指定的tag,這種是有問題的,

git checkout tag_name 這時候 git 可能會提示你當前處於一個“detached HEAD" 狀態。(detached 分離的,這時候head指向了tag,但是idea的version control內能看到一個嘆號!)

因為 tag 相當於是一個快照,是不能更改它的代碼的。出現這種問題,可以直接pull一次代碼,這時候head就會轉到操作之前的HEAD

 

參考文章:

gitlab回滾到指定tag版本 https://blog.51cto.com/wangqh/2129095

git使用tag恢復到以前的版本 https://blog.csdn.net/fzk2008/article/details/59575834

 

 

 

 


免責聲明!

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



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