1

Rails でアプリケーションを開発しているので、初めて git を使用しようとしています (git のオンライン コースを受講した後)。機能に取り組むためにブランチをチェックアウトしましたが、問題が発生し始めたとき、そのブランチをチェックアウトする前にアプリケーションを見て物事を再考したかったのですが、まだそのブランチを削除する準備ができていませんでした。そのため、master ブランチをチェックアウトしました。ただし、master ブランチでアプリケーションを実行すると、feature ブランチで行ったすべての操作が残っています。初めて試したとき、機能ブランチからファイルを追加またはコミットしませんでした。その後、master の変更を確認した後、feature ブランチに戻って 'git add' を実行しました。マスターに戻る前に、機能ブランチにそれらを保持できることを願っています。同じ結果です。機能ブランチに追加した壊れたコードは、マスター ブランチにいるときにアプリケーションで実行されています。master ブランチで git status を実行すると、すべてのChanges to be committed:、これは、機能ブランチで git status を実行した場合と同じことです。

私の(おそらく欠陥のある)git の理解は、ブランチで開発したコードをマージせずにマスターをチェックアウトすると、ブランチのコードがマスターで実行されないというものでした。私が間違っていることを教えてもらえますか?

4

1 に答える 1

2

マスターに切り替える前に、実際にブランチに変更をコミットして「そこに保持する」必要があります。

コミットされていない変更は、ブランチからブランチへと続きます (ただし、ブランチの変更と競合する場合はエラーが発生します)

補足: コードをブランチにコミットする準備ができていないが、それを維持したい場合は、 を実行できますgit stash。これにより、コミットされていないすべての変更がスタックにプッシュされます。その後、後で元にgit stash pop戻すように言うことができます。ただし、スタッシュ スタックもあなたの周りに付いてくるので、間違ったブランチに飛び込まないように注意してください。

于 2013-02-28T18:22:37.707 に答える