保持你的叉子更新:
在 GitHub 上分叉存储库是一种常见的做法,它允许开发人员通过进行更改和提交拉取请求来为项目做出贡献。然而,用原始存储库的最新更改来更新您的分支可能有点困难。
在本指南中,我们将引导您完成将分叉存储库与原始存储库同步的过程。无论您是经验丰富的开发人员还是新手,这个分步教程都将有助于确保您的分叉与最新提交保持同步。
命令 | 描述 |
---|---|
git remote add upstream <URL> | 将原始存储库添加为名为“upstream”的远程存储库,以跟踪源存储库中的更改。 |
git fetch upstream | 从另一个存储库(在本例中为上游远程存储库)下载对象和引用。 |
git merge upstream/main | 将上游主分支的更改集成到当前分支中。 |
git push origin main | 使用本地主分支的提交更新远程存储库。 |
git checkout main | 切换到本地存储库中的主分支。 |
git remote -v | 显示 Git 为远程存储库存储的 URL。 |
了解 Git 同步过程
上面提供的脚本旨在帮助用户将其分叉的 GitHub 存储库与原始源存储库同步。第一个脚本使用 Git 命令行界面 (CLI)。首先导航到您的分叉存储库,然后将原始存储库添加为名为的远程存储库 upstream。这允许您的本地 git 实例跟踪原始源存储库的更改。命令 git fetch upstream 从上游存储库获取最新更改,而不将它们合并到本地分支中。通过切换到您的主分支 git checkout main,您确保您正在正确的分支上工作。
接下来,命令 git merge upstream/main 将从上游存储库获取的更改合并到本地主分支中。这对于使您的分叉与原始项目的最新提交保持同步至关重要。最后,命令 git push origin main 使用新合并的更改更新 GitHub 上的分叉存储库。可选步骤涉及解决此过程中可能出现的任何合并冲突。第二个脚本使用 GitHub Desktop 应用程序提供类似的工作流程,使喜欢图形界面而不是命令行的用户更容易访问。
将分叉存储库与上游更改同步
使用 Git 命令行界面 (CLI)
# Step 1: Navigate to your forked repository
cd path/to/your/forked-repo
# Step 2: Add the original repository as an upstream remote
git remote add upstream https://github.com/original-owner/original-repo.git
# Step 3: Fetch the latest changes from the upstream repository
git fetch upstream
# Step 4: Check out your main branch
git checkout main
# Step 5: Merge the changes from the upstream/main into your local main branch
git merge upstream/main
# Step 6: Push the updated main branch to your fork on GitHub
git push origin main
# Optional: If you encounter conflicts, resolve them before pushing
# and commit the resolved changes.
使用 GitHub Desktop 更新您的 Fork
使用 GitHub 桌面应用程序
# Step 1: Open GitHub Desktop and go to your forked repository
# Step 2: Click on the "Repository" menu and select "Repository Settings..."
# Step 3: In the "Remote" section, add the original repository URL as the upstream remote
# Step 4: Fetch the latest changes from the upstream repository
# by selecting "Fetch origin" and then "Fetch upstream"
# Step 5: Switch to your main branch if you are not already on it
# Step 6: Merge the changes from the upstream/main into your local main branch
# by selecting "Branch" and then "Merge into current branch..."
# Step 7: Push the updated main branch to your fork on GitHub
# by selecting "Push origin"
# Optional: Resolve any merge conflicts if they arise and commit the changes
保持分叉存储库更新:其他注意事项
维护分叉存储库的另一个重要方面是了解分支管理的重要性。通常,开发人员在不同的分支中处理不同的功能或修复。同步分支时,不仅要更新主分支,还要考虑将上游更改合并到其他活动分支中。这有助于避免以后发生冲突,并确保项目的所有部分都与最新更新保持一致。
此外,使用标签和版本也是有益的。通过定期标记提交和创建版本,您可以跟踪项目的稳定版本。同步时,可以更轻松地识别哪些版本已集成以及哪些版本仍需要更新。这种做法在具有多个协作者的大型项目中特别有用。
有关同步分叉存储库的常见问题
- 如何将原始存储库添加为远程存储库?
- 使用命令 git remote add upstream <URL> 添加原始存储库。
- 什么是 git fetch upstream 做?
- 此命令从上游存储库下载最新更改,而不合并它们。
- 如何切换到主分支?
- 使用命令 git checkout main 切换到您的主分支。
- 目的是什么 git merge upstream/main?
- 此命令将上游主分支的更改合并到本地主分支中。
- 如何更新 GitHub 上的分叉存储库?
- 合并更改后,使用 git push origin main 更新 GitHub 上的 fork。
- 我可以使用 GitHub Desktop 同步我的 fork 吗?
- 是的,GitHub Desktop 提供了一个图形界面来获取、合并和推送更改。
- 如果合并过程中出现冲突怎么办?
- 您需要手动解决冲突,然后提交已解决的更改。
- 为什么我应该使用标签和发布?
- 标签和版本有助于跟踪稳定版本并使管理更新变得更加容易。
- 除了主分支之外,我还需要更新其他分支吗?
- 是的,更新其他活动分支有助于避免冲突并确保一致性。
关于同步分叉的最终想法
保持分叉存储库与原始存储库同步对于维护贡献的完整性和相关性至关重要。通过定期获取、合并和推送更改,您可以确保您的分叉保持最新状态。使用 Git 命令行界面和 GitHub Desktop 等工具可以简化此过程。此外,采用最佳实践(例如及时解决合并冲突以及使用标签和版本)可以显着提高您的工作流程和协作效率。