1. ホーム
  2. git

[解決済み] なぜgit stashはブランチごとにユニークではないのですか?

2023-06-19 13:46:42

疑問点

ブランチ間の変更を移動させることができると思いますが、それはチェリーピックのためであり、もしあなたが変更のコミットをしないのであれば、おそらくそれらを移動させるべきではないのでは?

私は時々、間違ったブランチで間違ったスタッシュを適用したことがあり、この質問について疑問に思っていました。

どのように解決するのですか?

前述のように、「ブランチごとの隠し場所」が必要な場合、本当は既存のブランチからフォークオフした新しいブランチが必要です。

また、すでに述べたように、スタッシュによって作業中のブランチにプルインすることができるほか、次のことも可能です。 スイッチ ブランチを切り替えることができます。これは通常の意味でのチェリーピックではなく、チェリーピックに便利です。 作業コピー .

例えば、機能ブランチで作業しているときに、そのブランチとは関係ないコードの小さなバグや外観上の不純物に気づくことがよくあります。まあ、私はそれらをすぐに修正するだけです。コミットするとき、関連する変更を選択的にコミットしますが、修正部分や化粧品はコミットしません。そうすることで、minor-fixes-on-stable ブランチに切り替え、そこで隠したものを適用し、それぞれのマイナーフィックスを個別にコミットすることができるようになるのです。(問題の変更によっては、さらにそのうちのいくつかを隠して別の feature ブランチに切り替え、そこで それらを .)

これによって、私は作業中にプログラミングモードに深く入り込み、自分のコードの適切なライブラリアンシップについて心配する必要がなくなります。そして、一息ついたら、また戻って、自分の変更をすべての正しい棚に注意深く分類することができます。

もし隠し場所がグローバルでなかったら、この種のワークフローははるかに困難なものになったでしょう。