私のプロジェクトでは多くのファイルが変更されています。 2つのファイルを隠しておきたいのですが、これをやったことがないので、間違いを犯すのが少し怖いです。
今すぐスタッシュする場合、2つのステージングされたファイルのみをスタッシュしますか?
また、「段階的な変更を維持する」にマークを付けない場合、以前の状態に戻りますか?これは愚かに聞こえるかもしれませんが、保存してからごめんなさい。
これはSourceTreeだけでなく、Git全般に適用されます。変更をスタッシュすると、スタッシングされるアイテムは、作業コピーおよびステージング領域のtracked filesへの変更です。 これらの変更はstashに保存され、作業コピーとインデックスで元に戻されます。
インデックス/ステージング領域で変更を保持することを選択した場合、それらの変更はまだスタッシュされますが、Gitはステージング領域でもそれらを元に戻しません。これは、たとえば、関係のない変更をいくつか行い、それらの変更の一部のみをテストし、関係のない変更がテストに影響を与えないようにする場合に便利です。
スタッシングは安全です。隠された変更を元に戻したい場合は、変更をポップから元に戻します。
ただし、追跡されていないファイルは通常は隠されていません。これらのファイルも隠したい場合は、コマンドラインでgit stash
に追加のオプションを渡す必要があります(SourceTree for Windowsには現在このようなオプションはありません。同じことが当てはまるかどうかわかりません) Macバージョン):
git stash save --include-untracked
# Or shorter
git stash save -u
はい。ただし、この場合のスタッシングは2つのシナリオを意味します-
ステージングされた変更の保持の確認:ステージングされたファイルはまだステージング領域にありますが、変更された未保存のファイルはすべてスタッシュされます。
段階的な変更を確認せずに、すべてのファイルが隠されます。