0
Git stashは非常に便利なコマンドファミリですが、コマンドに何も追加しません(コミットコマンドなしでコミットすることはできません。 stashコマンド)。Git:stashコマンドを使わないでgit stashをシミュレートする
あなたの仕事を隠してしまったが、隠しコマンドがないとどうしますか?
Git stashは非常に便利なコマンドファミリですが、コマンドに何も追加しません(コミットコマンドなしでコミットすることはできません。 stashコマンド)。Git:stashコマンドを使わないでgit stashをシミュレートする
あなたの仕事を隠してしまったが、隠しコマンドがないとどうしますか?
私が気に入っているオプションは、問題のブランチに対して正式に一時的にコミットすることです。
# work work work
git commit -m 'Completed the feature'
これで、別のブランチに切り替えてそこから続けることができます。それは、元のブランチに戻るには時間が来るとき、あなたは機能を終了し、一時的なコミットを修正することができます
git checkout original_branch
# finish the work
git commit --amend
は今、あなたがコミット1つだけが残されており、あなたがどこかに修正プログラムを行うことができましたelse。
git stash
は内部的に実際に作業ディレクトリとインデックスの状態を保存するために実際にコミットします(実際には2つまたは3つ)。
リンクをたどって@torekでlengthy answer about git stashを読んでください。
私は 'commit'サブコマンドなしではコミットできないことを前提としています。例えば、低レベルインタフェースの 'commit-tree'コマンド(https://git-scm.com/docs/git-commit-tree)を参照してください。 – Boldewyn
他のバージョン管理システムでこれをやったのは、基本的に 'git diff> changes.patch'です。そして、後でそれらを再適用してください(gitで 'git apply'を使うか、' patch'コマンドを使って再適用できます)。それは管理するための熊ですが、行うことができます。 'git stash'はもっと親切です。 – jszakmeister
また、[Gitless](http://gitless.com/)もご覧ください。彼らはGitの基本的な問題だと考えているものを解決しようとしました。 Gitlessでは、ブランチを変更するとブランチに変更が保存され、隠しの必要はなくなります。私はその主張に同意しますが、それにもかかわらず興味深いプロジェクトです。 – jszakmeister