45013


先日、プルリクエストを受けましたが、気づかず自分の変更をコミットしてしまい、  
マージしようとしてコンフリクトが起き、どうすれば良いのかわからなくなってしまいました。

やりたいことは以下の２つのコミットをなかったことにし、プルリクエストのImprovementsをmasterへ取り込みたいのです。

[code]

    e9de418 modify test & tsconfig 
    14c5d3c change port number
    
[/code]

ローカル側で以下のコマンドでリセットしたのですがこの後どのようにすれば良いのかわからず。  
`git reset --hard 163b6264ad57cb69bbdb7c2ce698b8888a2c3201`

以下のようにHEADの位置が変わったのでローカルは上記のコミットがなくなったと思うのですが、ソースももとに戻っていなく、どのように何をすれば良いかわからなくなってしまいました。

`commit 163b6264ad57cb69bbdb7c2ce698b8888a2c3201 (HEAD -> pr/3, github-
desktop-levino/master)`

初心者の質問で申し訳ないですが、どのように解決していけばいいのかご教授いただけると助かります。

リポジトリはこちらです。  
<https://github.com/tmnrkb/Web3-Express-NodeJS-TypeScript>


CC BY-SA 4.0
2018-06-23T04:09:32.793
44999
2018-06-25T01:59:30.483
2018-06-25T01:59:30.483
12362
12362
question
github
githubでプルリクエストを受けてマージしたいのですがうまく行きません。


PR作者に origin/master の修正を取り込んだ形に仕立て直してもらうのが一番楽だと思います。


CC BY-SA 4.0
2018-06-23T08:32:03.500
45005
2018-06-23T08:32:03.500
17037
44999
answer


`git reset
--hard`でローカルをリセットしたのであれば、`push`すればいいだけです。ただし、普通に`push`すると拒否されるので`-f`で強制すれば変更されます。

[code]

    git push -f
    
[/code]

ただし、公開したものを無かったものにしてしまう`reset --hard`を使うのはあまりよくないので、PR側に取り込んでもらうか、`git
revert`を使って逆の変更をして元に戻してPRを取り込むかした方がいいと思います。


CC BY-SA 4.0
2018-06-23T13:26:34.803
45013
2018-06-23T13:41:15.480
2018-06-23T13:41:15.480
15171
15171
44999
answer


共有リポジトリ(GitHub)に対してpush済みのコミットを取り消したい場合には、resetではなくrevertで「打ち消しコミット」を作成する方が無難です。  
(既にforkされ他人が参照しているリポジトリで、安易にresetを行うと余計なコンフリクトを生む原因になります)


CC BY-SA 4.0
2018-06-23T13:44:00.787
45018
2018-06-23T13:44:00.787
3060
44999
answer