題名の通りなのですが、
よくgitignoreに開発途中でファイルを追加したくなった場合、
shell
1 2# HEAD -> COMMIT_A 3 4echo [ファイル] >> .gitignore 5git rm --cached [ファイル名] 6git commit -m'メッセ' 7 8# HEAD -> COMMIT_B
とする方法が認知されているかと思います。
たしかにこのまま進めていけば、[ファイル]はローカル作業環境に存在しつつgitの操作では無視されるかと思います。
しかし、COMMIT_Aをcheckoutし、その後COMMIT_Bをcheckoutすると[ファイル]はローカルからも削除されるかと思います。
これはgit rm --cached [ファイル名]
を行った際に、今までのコミットにはあったのに追跡対象から外されたので削除されたと考えられ、COMMIT_B には
[ファイル名] を 削除
という編集内容が記録されているためかと思います。
しかしこれでは、git管理の利点であるブランチやコミットを行き来する事に不便をきたしてしまいます。(環境変数を書いたファイルを途中からgitignoreした場合に、コミットを行き来するとそのファイルが消える等)
ただインターネットを調べても同じ問題を抱えている人がすぐには出てこなかったので私がなんらかの見落としをしている可能性もあります・・・
質問
開発途中からgitignoreにファイルを追加した場合でも、ローカルにファイルを残したままコミットを行き来する方法はありませんか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/15 02:12
2019/12/16 01:02
2019/12/24 12:23