2011-01-17 5 views
2

私はgoofedしてマスター上で開発変更をコミットし、上流にプッシュしました。リモートのリポジトリからこれらの変更を取り消し、後でマスターに統合するためにブランチをローカルに保持する最善の方法はありますか?これが適用され、上流レポから引かれます誰とネジます方法についてのすべての通常の警告git rebase remoteですが、後でコミットするためにローカルで変更を保存します

git checkout master  # though you're probably already there 
# create the branch you should've committed to instead of master 
git branch local-changes 
# put master back where it belongs 
git reset --hard <commit-master-should-be-at> 
# and push it to origin! 
git push -f 

:あなただけのためにあなたの枝を取得する必要があり

答えて

3

は、強制的にプッシュを行います!

+0

変更を元に戻すために 'git revert'を使うのではなく、履歴を変更するのはなぜですか? – jamessan

+0

@ジャメッサン:OPは質問のタイトル(とタグ)に明示的に* rebase *と言っているので。ここでの前提は、これは「おっと、私はそれを押しただけです。 – Cascabel

+0

私はそれが賢明だったと思う、私はただrebaseが必要であると仮定した。より良い選択肢に戻るだろうか? –

関連する問題