为复刻配置远程仓库
1、打开 Git Bash。
$ git clone https://github.com/YOUR_USERNAME/YOUR_FORK.git
$ cd /path/to/YOUR_FORK
2、列出当前为复刻配置的远程仓库。
$ git remote -v
> origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
> origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
3、指定将与复刻同步的新远程上游仓库。
$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
4、验证为复刻指定的新上游仓库。
$ git remote -v
> origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
> origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
> upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
> upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)
同步复刻
1、从上游仓库获取分支及其各自的提交。 对 master
的提交将存储在本地分支 upstream/master
中。
$ git fetch upstream
> remote: Counting objects: 75, done.
> remote: Compressing objects: 100% (53/53), done.
> remote: Total 62 (delta 27), reused 44 (delta 9)
> Unpacking objects: 100% (62/62), done.
> From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
> * [new branch] master -> upstream/master
2、检出复刻的本地 master
分支。
$ git checkout master
> Switched to branch 'master'
3、将来自 upstream/master
的更改合并到本地 master
分支中。 这会使复刻的 master
分支与上游仓库同步,而不会丢失本地更改。
$ git merge upstream/master
> Updating a422352..5fdff0f
> Fast-forward
> README | 9 -------
> README.md | 7 ++++++
> 2 files changed, 7 insertions(+), 9 deletions(-)
> delete mode 100644 README
> create mode 100644 README.md
4、如果您的本地分支没有任何唯一的提交,则Git将执行”fast-forward”:
$ git merge upstream/master
> Updating 34e91da..16c56ad
> Fast-forward
> README.md | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
5、提交
git push origin master