2011-08-01 5 views
10

ワークステーションにリモートgitリポジトリのチェックアウトコピーがあります。 私は間違いなくローカルの変更をコミットし、リモートにプッシュしました。 最後のコミットを削除して前のコミットに戻し、同じコミットをリモートにプッシュする必要があります。gitで以前のバージョンに戻る方法

私はコミットメッセージで新しいコミットであれば問題ありません。どうやってするか?

答えて

10

私は、--forceの代替履歴を使用してプッシュすることをお勧めします。 あなたの変更を既に引っ張った人は、新しいものを引っ張るときに対処するための完全にねじ切りの歴史があります。

Aはるかに安全オプションは、単に

git revert HEAD~1 
git push origin master 

git revertは新しいが、それが前の

の効果のすべてをキャンセルコミット記録されます行うことです
9

誰もがまだ更新されたリモートリポジトリをクローン化していない場合は、次のことができます。

コミット最新を破棄するために、ローカルおよびリモートの歴史を強制します
git reset --hard HEAD~ 
git push --force 


(あなたの間違ったコミット以来、新しいコミットはプッシュされていなかったことをフェッチのgitで最初のチェック)

新しい歴史がオプションでない場合は、git revertがより安全で、かつ新しいになります前のコミットを取り消す:新しいコミットをプッシュすることができます。

関連する問題