如何同步github的主干到本地的fork分支

要同步 Github 上的主要仓库的更改到本地仓库的分支中,可按照以下步骤操作:

  1. 首先,将主要仓库的 URL 添加为本地仓库的远程仓库之一。 这可以通过以下命令完成:

git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
其中 ORIGINAL_OWNER 是主要仓库的用户名,ORIGINAL_REPOSITORY 是主要仓库的名称。

  1. 接下来,从远程主要仓库拉取更改。 这可以通过以下命令完成:
    1
    2
    3
    git fetch upstream 
    git checkout main
    git merge upstream/main
    第一行命令从远程主要仓库获取更新,更新会被拉到本地仓库的 upstream/main分支中。 第二行命令将本地 main分支切换到了主要仓库的最新版本。 最后一行命令将该分支合并到了本地分支上。
    如果本地有修改会报错:
    1
    2
    3
    4
    5
    6
    7
    PS D:\nibj\chatGPT\chatgpt-web> git merge upstream/main
    error: Your local changes to the following files would be overwritten by merge:
    package.json
    service/.env
    Please commit your changes or stash them before you merge.
    Aborting
    Updating 07cac12..73a67b8
    提交本地分支的更改或者暂存更改:
  • 如果你想保存本地更改,可以先使用命令 git stash将本地更改暂存起来,然后再使用 git merge upstream/main 将主干分支的更改合并到你的本地分支。合并完成后再使用 git stash pop 恢复之前的更改。
  • 如果您先提交更改,可以使用以下命令:
    1
    git add . git commit -m "commit message"
    提交更改后,您可以使用 git pull upstream/main 将主干分支的更改合并到您的本地分支。
  1. 最后,将本地分支的更改推送到您的 GitHub fork 上。 这可以通过以下命令完成:
    1
    git push origin main
    这应该将本地 main 分支上的更改推送到你的 origin 远程仓库,也就是你的 fork 上面。
    这些步骤完成后,您的本地分支就应该和主要仓库保持同步了。