2012-06-01 5 views
6

Gitでは、長期実行のブランチで作業することがあります。私は準備ができたら合併を容易にするために時々マスターに退屈するのが好きです。一つのコマンドでGitリモートブランチを破壊して再作成することはできますか?

リベース後、ブランチの履歴がそのブランチのリモート履歴と一致しなくなったため、以前にプッシュしたブランチをリモートにプッシュできません。だからまずそれを削除しなければならない。

これは私の現在のワークフローです:

git checkout my_branch 
git rebase master 
git push origin :my_branch # Delete remote version of the branch 
git push origin my_branch # Push up my new version of history on this branch 

は、最後の2つのコマンドを置き換えることができ、単一の、アトミック・コマンドはありますか?

+0

リベースされたブランチをプッシュできないことはわかりませんでした。誰でも知っている理由! Rebaseはかなり一般的な操作であるように見えますが、なぜ「うまく動作しない」のでしょうか? – Shahbaz

+2

クォートhttp://help.github.com/rebase_ "既にリモートリポジトリにプッシュしたコミットを再配布することは悪い習慣と考えられますので、git godsの怒りを引き起こす可能性があります。警告されています"_ – Stefan

+0

@Stefan、ああ、よく古いgit-mergeは私のためです。 – Shahbaz

答えて

10

リモートブランチの書き換えが許可されている場合は、git push --force my_remote my_branchを使用できます。

+2

これは尋ねられたように質問を解決しますが、Stefanは正しい道にあります。すでにリモートにプッシュしたリベースのコミットは、一般的には良い方法ではありません。 – Emily

+0

あなたがそのブランチで働いている唯一の人なら、おそらく大丈夫です。 – Stefan

+0

@Stefan - これは私の場合です。それは私の排他的な支店です。私はそれ以外はやりません。 –

関連する問題