0

私は基本的なモデルを完成させたプロジェクトを持っており(でmaster)、それらをコミットします。

次に、2 つのブランチを作成し、以下userproduct使用します。

git checkout -b user
git checkout -b product
git checkout user

次に、ブランチにコードを追加しますがuser、基本モデルにいくつかの変更を加える必要があることがわかりました。

次に、次のように切り替えmasterます。

git checkout master

userしかし、ブランチで行った変更が現在作業ディレクトリに表示されていることがわかりました。

これを回避する方法は?周波数にchange to master and modificationなるので。

4

2 に答える 2

0

コマンドを確認してくださいgit stash。作業をユーザー ブランチに隠してから、マスター ブランチをチェックアウトして作業することができます。マスター ブランチにコミットしたら、ユーザー ブランチをチェックアウトします。git stash popユーザーブランチの以前の状態を復元します。複数のブランチの状態を隠しておくことができますが、混乱する可能性があります。

于 2013-11-07T04:00:51.717 に答える
0

git checkout で作業する準備をするには、作業ツリーのインデックスとファイルを更新し、ブランチで HEAD をポイントして切り替えます。

作業ツリー内のファイルへのローカル変更は保持されるため、.

ソース: https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html

したがって、git stash使用できる、または使用できる解決策としてgit commit-元のブランチに戻ったときにソフトリセットgit reset --soft HEAD^を行うと、最後のコミットがロールバックされ、ファイルは削除されません

--soft インデックス ファイルにも作業ツリーにもまったく触れません (ただし、すべてのモードと同様に、ヘッドを にリセットします)。これにより、変更されたすべてのファイルが「コミットされる変更」のままになります。

https://www.kernel.org/pub/software/scm/git/docs/git-reset.html

于 2013-11-07T04:07:37.827 に答える