branch
SmartGit
#migrated

SmartGit > Add Branchしたつもりが、Add Tagだった時にAdd Branchだったことにする手順 (コミットをpush済)

動作環境
Windows 7 Pro (32bit)
SmartGit Version 17.0.4 #10132

Branchを切ったつもりが、Tag追加になってしまっていた場合の対処。
masterでコミットをPush済みの場合。

注意事項

!!!注意!!! 方法を間違うとコミット内容が消えるかもしれない。テストリポジトリで動作を理解した上で、注意して実施すること。

対処

以下の方法で対処した。

  1. masterにおいて、Branchを切り始めたいコミット(Add Tagしたコミット)でCheckout
    • Don't create local branch (just work read-only)
  2. Branchを切る (例: feature/170925/useXXX)
    • Add Branch
  3. BranchをCheckout
  4. Branchに対してmasterをマージ
    • Fast-Forward
    • 理由: masterのコミットをBranchに持ってくるため
  5. BranchのマージコミットをPush
  6. masterをCheckout
  7. Branchを切りたかったコミットまでReset
    • Hard (Set the Index and working tree to the state of the selected commit)を選択
  8. masterに対して手順2で切ったBranchをマージ
    • Create Marge-Commit (Fast-Forwardマージでない方)
    • 理由: マージ内容を見やすくするためFast-Forwardとしない
  9. masterのマージコミットをPush
  10. 間違ってつけたTagを削除 (feature/170925/useXXX)

より良い対処

間違ってTag追加とした時点で気づくことが大切。
(二回間違った自分に対して)。