起因:
由於我忘記在給客戶的 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 傳上去囉。
留言
張貼留言