2012-10-22 12 views
12

私が追加した新しい機能のためにgitリポジトリに新しいブランチを追加しました。明示的にチェックアウトするのを忘れました。私はコミットせずに多くのファイルを変更しましたが、マスターではなく、代替ブランチにこれらの変更をコミットできるようにしたいのです。これをどうすれば安全に行うことができますか?変更を行う前にブランチのチェックアウトを忘れた

答えて

14

新しいブランチをチェックアウトするだけで、コミットされていない変更が新しいブランチに引き継がれます。 (これは、ローカルの変更がブランチを切り替えることによって変更されるファイルに影響を与える場合は許可されませんが、この場合、新しいブランチが最後のコミットと同じ位置にあるかのように聞こえるので、問題があります)

11
git stash 

git checkout other_branch 

git stash pop 

このトリックを行う必要があります。通常どおりにコミットできます。参照:git stash manual page

+2

もちろん、このケースでは「git stash」は実際には不要です。 –

+2

私はこれが提供するセキュリティの余分な感覚が好きです。最後のコミット後に__way__を多すぎる編集をした場合、__really__はそれらを失いたくないので、 'git checkout branch'は大丈夫だとはいえ、事態が起こった場合のために緊急時計画を立てるのはまだ慰めです。 – FireSBurnsmuP

関連する問題