github 如何同步别人的仓库
前言
假设你有两个 git 仓库
,并希望同步它们,以便它们含有相同的内容。
你必须要在 git 中配置一个远程服务器指向上游的仓库地址,这样你在 fork 中的更改才能同步到原始的仓库里。这样也能把原始仓库中的变更同步到 fork 里。
第 1 步
打开终端,进入本地项目的工作目录。
第 2 步
查看你的 fork 当前配置的远程仓库地址:
$ git remote -v
origin https://github.com/your_username/your_fork.git (fetch)
origin https://github.com/your_username/your_fork.git (push)
第 3 步
指定当前 fork 将要同步的上游远程仓库地址:
$ 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)
第 5 步
从上游仓库拉取分支及其对应的提交记录。对于 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
第 6 步
签出你的 fork 的本地 master 分支
$ git checkout master
switched to branch ‘master’
第 7 步
把 upstream/master 中的变更合并到本地的 master 分支里。这样你的 fork 的 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
第 8 步
把更改推送到服务器:
$ git push