3

私は本番サーバーでこのようなものを使用しており、githubで受信後フックとして設定しています。基本的に、githubから適切にフォーマットされたリクエストを受け取るたびに、特定のブランチで変更をプルするように設定されています。

さて、誰かが悪いコードをマスターにプッシュしたとしましょう。それは自動的に本番環境を引っ張ってすべてを壊しました。本番サーバーにSSHで接続し、古いコードを手動でチェックアウトせずに、変更を元に戻すための最良の方法は何ですか?理想的には、もう一度プッシュするのと同じくらい簡単です。

ありがとう!

4

1 に答える 1

2

その悪いコードが 1 つまたは複数のコミットの結果である場合は、git revertそれらをローカルでキャンセルするために使用します。これにより、悪いコードをキャンセルする新しいコミット
が作成され、そのコミットをプッシュできます。

1 つ以上の既存のコミットがある場合、関連するパッチが導入した変更を元に戻し、それらを記録するいくつかの新しいコミットを記録します。

その revert commit を GitHub にプッシュすると、post-receive フックがトリガーされ、その新しい変更が本番環境にプルされます。

于 2012-11-23T19:29:04.510 に答える