Git 在過去的某個版本打上Tag

 起因:

由於我忘記在給客戶的 branch 打上 tag 接著對 branch 繼續做 Hotfix。因此現在我必須回到之前的某一個版本來將這個 branch 打上當時要紀錄用的 tag。

方法:

1. 首先我要先回到要打 tag 的那個版本!因此使用 git log 找出要回去的 merge 然後透過 commit ID 回到之前的版本。

$ git reset --soft CommitID  

這邊我採用 --soft 只是因為我只是要回去加 tag 所以不是使用 --hard 把之後的 commit 都刪除。

2. 這時候使用 tag 參數打上這個版本要用的 tag.

$ git tag -a  TagName -m "TagNote"

打上 tag 候 可以用 git show TagName 來看這個 Tag 的資訊。

3. 打完 tag 候回到最新的版本。所以使用 git reflog 來看最後一次 merge 的 commit ID 然後使用 git reset --hard CommitID 回到最新版本。

$ git reset --hard CommitID  

4.  使用 git show TagName 來確認一下 tag 有沒有真的打上去。

5. 由於 git push 並不會把 local 的 tag 上傳到 remote 所以要用 git push RemotName TagName 來把 tag 傳到 remote 端。

$ git push origin TagName

接著就可以去 remote 網站看看有沒有正確的把 tag 傳上去囉。


Ref


留言