2017-01-25 6 views
0

削除したいコミット(公開済み)10+があります。理想的には、プルリクエストを作成して、プロジェクトの開発ブランチにマージすることができます。GitHubでコミットを取り返します

  1. git reset --hard <commit_hash>
  2. git checkout -b my_fixed_branch
  3. git push origin my_fixed_branch

はgithubの上のプルリクエストが差分には何も表示されません...(AS:

問題は、私がやっている場合ということです開発ブランチには既に<commit_hash>からの変更が含まれているため、この問題が発生していると私は理解しています。だから私は本当に...適切にリセットを行う方法もちろん

を理解していない私はそれが直接上書きするには

  1. git reset --hard <commit_hash>
  2. git push origin develop -f

ような何かをすることは可能だと思います私は、代わりにプルリクエストを使用したいと思います。

+0

git revertコマンドを探していますか? https://git-scm.com/docs/git-revertは – ArchiFloyd

答えて

0

どちらかあなたはコミットは(すなわちgit revertを使用して、変更を取り消す新しいコミットを作成する)を元に戻すので、彼らは(おそらくプル要求経由)マージすることができます。

どちらかあなたはにそれらを破棄したが、その後マージするものは何もない:あなたは(正確にあなたがあなたの質問に提供したコマンドを実行することによって)力プッシュにする必要があります。

1

これは、すべてが今まで<commit_hash>(含まない)の後にコミット戻り:

git revert --no-commit <commit_hash>..HEAD 
git commit -m "Message explaining what was done" 

--no-commitオプションは、単一の復帰ではなく、いくつかのコミット取得を確認します。

これを元に戻すと、マージごとに個別の復帰コミットを作成できます。これは他のユーザにとってはもっと明白かもしれませんし、Gitはコミットメッセージを無料で提供します。

+0

さて、私はそれが好きでやっている: '' 'Gitは--no-コミット ..HEAD を元に戻すと エラーを取得:をコミットマージですが、 -mオプションは指定されていません。 致命的:元に戻せませんでした –

関連する問題