3

2 つのブランチを維持しているとしdevますrelease

release規律以外に、どのようにしてに変更を加えずにチェックアウトしないように強制しますdevか?

Q1:するのを忘れて で変更を加えた場合、代わりreleaseに にコミットしてdevで中止する方法はありreleaseますか?

Q2:ブランチに設計されていない大量の変更を避けるために人々が使用する一般的なトリックはありますか?

4

3 に答える 3

3

Q1 : ええ、それはとても簡単です。間違ったブランチにコミットしたことに気付いた場合:

git checkout dev
git cherry-pick release # you may need to cherry-pick several commits
git checkout release && git reset --hard HEAD^ # or reset to wherever you want

Q2 : 私は git-completion に大きく依存しています:

https://github.com/git/git/blob/master/contrib/completion/git-completion.bash

于 2012-08-01T22:58:13.107 に答える
2

これはあなたが探しているほど洗練された答えではありませんが、現在の git ブランチをプロンプトに入れることで、そこへの道の大部分が得られます。そこにはたくさんのレシピがありますが、これはいくつかの機能を備えた合理的なものに見えます.

また、私がどのようにそれを行うかを確認することもできます。

于 2012-08-01T22:54:12.393 に答える
1

シェルに小さなスクリプトを追加して、自分がどのブランチにいるのかを常に表示します。ほとんどのテーマにこれが含まれているoh-my-zshを使用していますが、ここで説明されているような軽いオプションもいくつかあります。

このようにして、どのブランチに取り組んでいるかを知ることができ、通常は混乱しません。

すでにブランチにコミットしている場合は、 and を使用git rebasegit cherry-pickて履歴を書き換え、他のブランチに配置できます

于 2012-08-01T22:56:04.513 に答える