問題タブ [git-stash]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Git でドロップされたスタッシュを回復するには?
私は頻繁に and を使用git stash
しgit stash pop
て、作業ツリーの変更を保存および復元します。昨日、隠してポップした作業ツリーにいくつかの変更を加えてから、作業ツリーにさらに変更を加えました。戻って昨日の隠し変更を確認したいのですがgit stash pop
、関連するコミットへのすべての参照が削除されているようです。
git stash
使用すると、.git/refs/stash には、スタッシュの作成に使用されたコミットの参照が含まれることを知っています。そして.git/logs/refs/stash には隠し場所全体が含まれています。しかし、それらの参照はgit stash pop
. コミットがまだ私のリポジトリのどこかにあることは知っていますが、それが何であったかはわかりません。
昨日の stash コミット参照を復元する簡単な方法はありますか?
私は毎日のバックアップを持っており、昨日の作業ツリーに戻って変更を取得できるため、これは今日の私にとって重要ではないことに注意してください。もっと簡単な方法があるに違いないので、私は尋ねています!
git - ブランチごとに git stash が一意でないのはなぜですか?
あるブランチから次のブランチに変更を移動できると思いますが、それがチェリーピッキングの目的であり、変更をコミットしていない場合は、変更を移動するべきではないでしょうか?
私はときどき、間違ったブランチに間違ったスタッシュを適用したことがあり、この質問について疑問に思っていました。
git - 作業ツリーへのコミットされていない変更を git merge で処理するにはどうすればよいですか?
現在、同僚と私は両方とも master ブランチに取り組んでいます。作業ツリーに、コミットしたくないコードがいくつかあります (デバッグ ステートメントなど)。彼がそれらの同じファイルのいくつかに変更をコミットした場合、それらをマージできません。
Subversion のバックグラウンドを持っているので、リポジトリから変更をプルすると作業ツリーが自動的にマージされ、競合がある場合は手動で解決することに慣れています。
gitでこれを行うために私が見つけた最も簡単な方法は次のとおりです。
基本的に、コミットされていない変更を削除し、マージしてから変更を再適用します。取り込もうとしている変更を作業ツリーに自動的にマージするようにマージに指示するにはどうすればよいですか?
git - 追跡されていないファイルをどのように隠しますか?
ファイルに加えて新しいファイルに変更があり、別のタスクに切り替える間、git stash を使用してそれらを片付けたいと考えています。しかし、git stash 自体は、既存のファイルへの変更のみを隠します。新しいファイルは作業ツリーに残り、今後の作業が雑然とします。この追跡されていないファイルを隠しておくにはどうすればよいですか?
git - git stashから単一のファイル(またはファイルへの変更)を抽出するにはどうすればよいですか?
スタッシュチェンジセットをポップオフせずに、gitスタッシュから単一のファイルまたはファイルの差分を抽出することは可能ですか?
git - Git stash:「汚れた作業ツリーには適用できません。変更をステージングしてください」
以前に隠しておいた変更を適用しようとしていますがgit stash pop
、次のメッセージが表示されます。
それに対処する方法について何か提案はありますか?
git - コミットされていない既存の作業を Git の新しいブランチに移動する
私は新しい機能の作業を開始し、少しコーディングした後、この機能を独自のブランチに配置する必要があると判断しました。
既存のコミットされていない変更を新しいブランチに移動し、現在のブランチをリセットするにはどうすればよいですか?
新しい機能に関する既存の作業を保持しながら、現在のブランチをリセットしたいと考えています。
git - git stashをリモートリポジトリにプッシュすることは可能ですか?
gitでは、stashを作成し、stashをリモートリポジトリにプッシュし、別のコンピューターでstashを取得して、stashを適用することは可能ですか?
または私のオプションです:
- パッチを作成して他のコンピューターにパッチをコピーする、または
- マイナーブランチを作成し、そのブランチに不完全な作業をコミットしますか?
git - gitstash適用バージョン
私は2つのブランチを持っています:マスター| 設計
デザインの仕事で、私は隠し場所を作り、マスターに切り替え、いくつかの調整を行いました。デザインに戻りstash apply
、デザインブランチでのすべての変更を失うだけでした。
私はこれらをクリアまたは削除していないので、すべての作業が隠し場所にあることを望んでいます。
スタッシュリストを実行すると、4つの結果が得られます。
試してみるgit stash apply f2c0c72
とエラーが発生します:
特定の隠し場所を適用するにはどうすればよいですか?