web-dev-qa-db-ja.com

git revert commit / Pushしかし、変更は保持します

こんなふうになります:

  • 変更したファイルAとBがあります

  • 私はAをコミットしてプッシュすることだけを想定していますが、誤って両方をコミットし、AとBの両方をプッシュしました

  • 「gitPushold-id:master」を実行したので、githubで「Masteris now old-id」と表示されます。ここで、old-idは私の前の最後のコミットなので、コミットする前に戻っていると思います。

質問:

  • ローカルで、AとBを持つコミットを元に戻し、Aのみをコミットし、Aのみをプッシュするにはどうすればよいですか?

注:ただし、ローカルでAとBの両方の変更を保持する必要があります。最終結果は次のようになります。

  • ローカル-新しいAと新しいB
  • Github-新しいAと古いB
22
James Gu
$ git reset <old-id>    # Undo the commit after old-id
$ git add A             # stage A for a new commit
$ git commit            # make the new commit
$ git Push              # Push it
38
Amber