おさらいしつつ、困った&解決したのでメモ
本家に追従させる
1. 確認する
$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master
2. 本家を登録する
$ git remote add {任意の名前} {本家のURL}
$ git remote add upstream https://github.com/xxxx/xxxxx.git
とか
$ git remote add fork_master https://github.com/xxxx/xxxxx.git
とかとか
$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master remotes/upstream/master
remotes/upstream/masterが登録された。
本家から最新のコードをローカルリポジトリへマージする
1. 本家から最新のコードを取得する
$ git fetch upstream
2. 本家の最新コードをローカルリポジトリへマージする
$ git merge upstream/master
今回ここでエラー
$ git fetch upstream $ git merge upstream/master Updating 0dd90ca..bc98fdf error: Your local changes to the following files would be overwritten by merge: src/config.js Please commit your changes or stash them before you merge. Aborting
src/config.js はマイ設定なので、本家の変更分だけ取り込みたい・・
本家からのアドバイス
- src/config.jsにlocalの変更が入っているので、それをcommitするか、戻さないと mergeできません
- commitすると、PR作るときに、そのcommitも入ってしまうのでsrc/config.jsをsrc/config.org.js のようにrenameして一旦、退避して
git merge upstream/master
- を実行
- その後、src/config.org.js をコピーして戻せばうまくいくと思います
ふおぉ〜
できました。
ありがとうございました✨
ローカルの編集をプルリクするまで
- ローカルファイルを編集する
- ここからなんか GitKrakenでやってますが、本家に反映してほしいファイルだけ add する
- commitする
- 自分のリモートリポジトリに push する
- PR作る
で、本家から最新を落としてくる...の繰り返し。