0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Git】VSCode+Git Graph で意図しない master へ push された原因を調べた結果

Posted at

はじめに

業務中に、メンバーから「誤って master に push してしまった」と相談されたため、その際に調査した内容と対処方法をまとめます。

この記事は個人的なアウトプットを目的として作成したものです。そのため、誤った情報や不足している内容が含まれている可能性があります。もし間違いや気になる点がございましたら、ぜひご指摘いただけますと幸いです

現象

メンバーはVSCodeの拡張機能Git Graphを使い、masterから作業用のブランチを切って作業していました。しかし、pushした結果、変更内容が作業ブランチではなくmasterに反映されてしまいました。

通常はdevelopからブランチを切る運用ですが、今回はmasterから切る必要があり、その点は問題ではありません。

疑問だったのは、

  • 誤って master をチェックアウトして作業したわけではない

  • Git Graph 上でも 作業ブランチがアクティブになっていた

それでもmasterpushされてしまっていた、という点です。

原因

原因は 作業ブランチのupstream(追跡ブランチ)がmasterに設定されてしまっていた ことでした。

追跡ブランチは以下で確認できます。

git branch -vv
feature/hogehoge 4ab2003 [origin/master]

本来は[origin/feature/hogehoge]のように、自分自身のブランチを追跡している必要があります。
origin/masterになっていたため、pushしたときに自動的にmasterに反映された、という流れでした。

解決方法

1.誤った追跡ブランチを解除

git branch --unset-upstream

2.正しいブランチをupstreamに設定してpush

git push -u origin feature/hogehoge

これで追跡が正しくなり作業ブランチにpushされるようになりました。

終わりに

今回の件を通して、追跡ブランチの設定ミスは意外と気づきにくい ということを再認識しました。ブランチ運用ルールを見直す良いきっかけにもなりましたし、私自身も同じミスをしないように気をつけたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?