1. ホーム
  2. git

ブランチを切り替える前に、それらを移動または削除してください。 git force switch branches

2022-02-13 08:36:10
<パス

記事の文脈はこんな感じです。

開発中にmasterで緊急のバグを修正し、修正後に2.0ブランチに切り替えて開発を続行する。

会社ではみんなsourceTreeを使っているので、コマンドラインを使うのは久しぶりすぎて、ちょっとさびしくなってしまいました。 sourceTreeにもいいところと悪いところがありますよね?

場所は、コマンドを覚えていない、マウスをポイントし、操作を完了するためにクリックし、スイッチブランチをマージし、共通のコミットが、ローカルもファイルを変更する必要がない格納します。

デメリットは、油断するとミスしてコマンドラインで修正する羽目になり、しばらくコマンドが使えなくなり、錆びつくことです。

ネットで答えを調べる。

ブランチを切り替えて2.0ブランチをmasterにマージしたため、ファイルの衝突が発生しましたが、2.0ブランチはまだオープンなままです。

masterブランチにマージできないブランチがあると、sourceTreeでブランチを切り替えることができないので、この記事ではそれについて書いています。

git checkout v2.0  


エラーが発生しました。以下の追跡されていない作業ツリーファイルは、チェックアウトによって上書きされます。
ブランチを切り替える前に、移動または削除してください。

This sentence means: The following files that are not tracked in the working tree will be checked out and overwritten, so you need to kill them when you switch branches
public/vue-static/js/app.js.map
public/vue-static/js/manifest.js
 resources/views/mobile/layout/public.blade.php
 routes/api_v1.php
 vue/.gitignore
......

git status

git clean -dfx とりあえず、ステージング用のファイル群

git checkout v2.0 全部消してしまえばいいんです(

強調しておきますが、git clean は現在作業しているブランチのすべてをリモートブランチと一致させます。つまり、リモートでこのコマンドを実行してもローカルブランチは同じ状態になり、バージョンアップに間に合わなかったファイルは直接捨てられるということです。

)

次に git clean -dfx public/vue-static/js/app.js.map 2.0ブランチに切り替えて、次のようになります。

git clean -dfx public/vue-static/js/app.js.map 一つ一つ取り出しても同じことです