3

現在、問題が発生しています。gitflowを使用して、という機能を作成し、feature/newbranch開発に取り組んでいました。変更を隠して保存したかったfeature/newbranchので、私がしなければならなかったのは次のことだけだと思いました。

git stash  (in develop)
git checkout 'feature/newbranch'
git stash pop

これは私の新しいブランチに変更を加えますが、私が開発に移るとき

git checkout develop

私の隠された変更はすべてまだそこにあります。

私は何か間違ったことをしていますか?

4

3 に答える 3

3

コミットするまで、ブランチには何も入れられません。ここで行っているのは、隠し場所の内容を作業ツリーに入れることです。

次の質問に対するトップアンサーを読むことで、より良いアイデアを得ることができます:HEAD/ワーキングツリー/Gitのインデックスの違い

于 2012-09-14T23:02:34.573 に答える
2

コミットされていない変更は作業ディレクトリにのみ存在し、特定のブランチにバインドされません。隠し変更をブランチに適用する場合は、gitstashpopgit stash applyの代わりに使用してください。git stash pop最新のスタッシュを自動的に破棄しますが、git stash applyはそれを適用するだけで、削除はしません。

于 2012-09-14T22:56:35.827 に答える
2

いいえ、git stash pop 最後に保存したパッチ/変更のみを適用しようとしますgit stash。現在のブランチへの変更はコミットされません。また、作業ツリーを汚すと、ブランチを切り替えても汚れたままになります。時々、あなたは土の作業木のために枝を切り替えることさえできないでしょう。

ブランチを切り替える前に現在の作業ツリーをクリーンアップするには、git reset --hard

于 2012-09-14T22:57:03.063 に答える