gpt4 book ai didi

git - 在 Visual Studio 中使用 github - 从上游 master 更新 fork

转载 作者:IT王子 更新时间:2023-10-29 00:35:39 25 4
gpt4 key购买 nike

我正在为 github 使用 VS 扩展。在登录到 github 时,我 fork 了一个存储库。然后,我从我的分支创建了一个 VS 解决方案并进行了一些更改。

两天后,我从(upstream master) fork 的原始存储库被更新了。现在我想将这些更新 pull 入 VS。类似的问题有从原始存储库更新 fork 的命令行步骤的答案,但我如何从 VS GUI 执行此操作?

最佳答案

像我一样,您可能是 GitHub 的新手,所以让我们定义一些术语。您的 VS 项目是一个本地存储库,在 GitHub 术语中称为 branch(它的名称可能是“master”)。原始存储库是上游主节点。我 fork 上游的 master(将其复制到我的 GitHub 帐户)。 Visual Studio 将 GitHub 上的存储库称为远程。默认远程是 origin/master。我在 VS 中创建了一个分支,方法是单击"file"、“新建”、“存储库...”,然后在“连接” Pane 中选择 GitHub 下列出的我的 fork 副本。现在,以下是从其原始存储库更新它的步骤。

在网络浏览器中

  1. 转到您 fork 的存储库的主页,或者单击<>代码选项卡(如果您已经在那里)。
  2. 将 URL 复制到剪贴板(单击 URL 右侧的复制图标)enter image description here

在 VS15 中

1) 将上游master添加到你的项目中:

  1. 打开与您的 GitHub 本地存储库关联的解决方案。

  2. 在 Team Explorer Home 中,依次单击“设置”和“存储库设置”。

  3. 如果尚未展开,请单击 Remotes 将其展开,然后单击 Add。

  4. 输入名称(不允许有空格)。如果您的项目名称是“project”,那么“project-upstream”是一个不错的选择。图片显示了我的选择,这不是很好。在 Fetch 字段中,粘贴您从 GitHub 复制的 url,然后单击 Save。

    addremote3

  5. 导航回 Team Explorer 主页,点击同步,然后点击“获取”。

  6. 选择您新创建的远程名称“project-upstream”。
  7. 点击获取。

2) 从原始主仓库更新您的分支(本地仓库):

  1. 转到 Branches Pane (主页,然后是 Branches)并单击 Merge。
  2. 点击“从分支 merge ”并选择您刚刚添加的上游远程存储库。
  3. 点击 merge 按钮。您应该会在分支下方看到状态:“merge 已完成并已提交”以及提交编号。

    merge1

  4. 验证您的分支是否已更新:在 Active Git Repositories 下右键单击您的本地存储库名称(通常称为 master),然后选择 View History…右侧 Pane 显示所有提交的日志标识栏。 mergeremote

3) 在 GitHub 上更新您的分支:

  1. 返回同步 Pane 。您应该会看到 Outgoing Commits(nn),其中 nn 是您的 fork 需要与原始上游主存储库同步的提交数。

  2. 点击同步(或推送,然后点击推送按钮)。现在没有传出提交。

4) 验证您在 GitHub 上的分支是否已更新:返回您的 Web 浏览器窗口,转到上游 master 的 fork 副本。那里的最新提交编号应该与您的分支相匹配(查看历史记录中的第一行......)。

在使用来自上游 master 的更改更新您的分支后,您可能会认为这些更改太重要了。通过创建新分支,您可以轻松地保持 GitHub 帐户中的远程分支不变。在步骤 2.4 之后,在 Active Git Repositories 下,右键单击分支并选择 New Local Branch From... 而不是 View History...。然后右击新建的分支,选择Publish Branch,将其推送到GitHub。

关于git - 在 Visual Studio 中使用 github - 从上游 master 更新 fork,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36228101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com