如何在我的 IDE 中获取代码以反映来自其他人的已接受的拉取请求

How to get the code in my IDE to reflect an accepted pull request from someone else

一段时间以来,我一直在自己编写代码并将代码推送到 GitHub,但最近另一位开发人员提出了 PR,我接受了。现在,因为我在 VSCode 中的文件没有反映他所做的小更改,所以我有点担心推送我所做的新更改。它会覆盖他的更改吗?

我知道这是一个非常基本的问题,但说实话,搜索起来有点困难。我想我真的不会用更短的 'google-search' 方式来问这个问题。

谁能帮忙,谢谢!

推送新的本地更改会覆盖他的更改吗?

否*

如何将合并后的 PR 更改到我的 IDE 中?

git pull

说明

问题中暗示,到目前为止,您的工作流程是这样的:

此后定期:

  • 将这些更改从本地推送到 GitHub (git push)

对于单个贡献者(您),文件的本地副本始终与远程文件同步(或领先于它们,在提交之后和推送之前)。

让我们看看新的本地更改会发生什么,并且您想将其推送到远程,看看它是否会破坏拉取请求的更改:

$ git push
To github.com:username/repo.git
 ! [rejected]        main -> main (non-fast-forward)
error: failed to push some refs to 'github.com:username/repo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Git 中止,什么也没做。帮助文本包括要采取的操作:

Integrate the remote changes (e.g. 'git pull ...') before pushing again

git pull 将更新您的本地分支,并更新磁盘上的文件以匹配,集成在远程所做的更改。这是 'get the code into my IDE'

的步骤

因此只需要:

$ git pull
$ git push

如果在从远程拉取时发现合并冲突,请注意解决它们以集成远程和本地的更改,并行对相同文件进行更改。

* - 除非你强制推送,否则不要那样做:)