1

私はプロジェクトでGitと協力していますが、参加する必要がないという理由で、コードにいくつかの変更を加えてから、コミットするのではなく、それらを隠しておく必要があるかもしれません。私は時々これらの変更を必要とするかもしれませんが、常にではなく、必ずしもそれらが永続的であることを望んでいません。しかし、仕事は大きなものになる可能性があり、私は自分自身にいくつかの問題を救おうと努めたいと思います。

複数のgitスタッシュを保存して、スタッシュが次のようになるとします。

stash@{0}: First change
stash@{1}: Second change
...
stash@{10}: Last and final change

これらすべての変更を1つのコマンドでポップする方法はありますか?または、おそらくそれらを組み合わせて次のようなものにしstash@{11}: All previous changes togetherますか?

それとも、これはまったく良い考えですか?

編集:いくつかの調査の後、私は本当に分岐しているべきであり、このようにgitstashを使用してはならないことに気づきました。答えてくれてありがとう!

4

2 に答える 2

4

または、ブランチを作成しますか?ブランチは Git では安価であり、Git に指示しない限り、リモート リポジトリにプッシュされません。実際の例。

"my-hidden-feature" という名前のブランチを作成します。

git checkout -b my-hidden-feature

編集およびコミット (たとえば、ローカル構成ファイル) :

touch test.config               # Create a new file
git add test.config             # Add the new file
git commit -m "Test commit"     # Commit your hidden feature

元のコードに戻って、いくつかの作業を行います。

git checkout master             # Return to the main branch
...work here...                 # Do some work
git commit -am "Work on master" # Commit your work

ああ、隠し機能が必要ですか?簡単 :

git checkout my-hidden-feature  # Go to your hidden branch
git rebase master               # Update the hidden feature with new commits from master
...do some stuff...             # Do some work on the hidden branch
git commit -am "A new hidden commit"

そして、どんどん!

あ、最後になりましたが。コマンド ラインから作業している場合は、端末で現在のブランチを表示できるプラグインを備えたoh-my-zshなどのツールを強くお勧めします。Git で迷子になりたくない場合は、非常に便利です。

于 2012-12-05T16:23:54.073 に答える
3

あなたは隠し場所をひどく乱用しています。隠し場所は、隠れた使い捨ての枝にすぎません。git stash saveこれを行います:

git checkout -b stashbranch
git add -A
git commit -m "stashentry"
git checkout -

git stash apply次のようなことをします:

git cherry-pick *stashcommit*
git reset HEAD^

これらのコマンドの機能を理解していれば、このケースのような複雑なアプライアンスに stash を使用する必要はありません。

まだブランチを使用していない理由はありますか?

于 2012-12-05T16:34:04.867 に答える