2016-12-23 17 views
1

すべての変更は既にリポジトリにプッシュされています。これでバグが発生し、developerXによって行われたすべての変更を特定のコミット(commitX -done before 15 days)にロールバックする必要があります。他のすべての変更を有効にして、ある開発者が行った変更をロールバックする方法はありますか?

しかし、私はcommitXの後に他のすべての開発者が行った変更を保存する必要があります。

オプション1 - commitXのすべてのファイルをチェックアウトし、古いバージョンのファイルをコミットします。

- しかし、いくつかの新しいファイルが追加され、後でコミットする際にdeveloperXによって削除されるファイルがいくつかありますが、どうなりますか?手動でリモート/追加する必要がありますか?

他にも良い方法がありますか?

答えて

1

を参照してください。

あなたの主枝(おそらくmaster)で現在していると仮定:変更は早送りまたはそれ以外の場合は、masterブランチで右行われた場合

git checkout -b revert-bad-changes 
git revert <hashOfMergeCommit> 
# push your branch, merge it into master, whatever your process is 

、あなたは、多くのコミットを参照する必要がありますI n revertコマンド:

git revert <badCommitHash1> <badCommitHash2> <badCommitHash3>... 
0
git revert <commitHash> 

これにより、ターゲットコミットを元に戻す新しいコミットが作成されます。

より望ましくない変化が(コミットまたは少なくとも非早送りマージ)プル要求経由で統合された場合、あなたはそのコミット新しい復帰を作成するためにハッシュをコミット参照できhere

関連する問題