为什么我不能在 BitBucket 存储库中提取新代码?说"Already up-to-date"但我没有所有推送的代码



我不太喜欢GIT,我有以下问题,我无法理解。

我正在使用一个 BitBucket存储库,我正在与另一个人一起工作。

我试图获取我的同事推送的新代码,执行以下操作:

git pull

但它对我说:

$ git pull
Already up-to-date.

但是在 BitBucket 存储库上(它在远程主分支中,我可以在 BitBucket 网站上看到它(有一些我在本地系统上没有的代码。

所以我试图通过以下方式获取所有远程分支的列表:

$ git branch -r
origin/GLIS-Trigger-TAG
origin/HEAD -> origin/master
origin/master

那么究竟是什么意思呢?我指的是原点/头?什么意思?究竟什么是起源/头部

我必须打开源/主分支才能获取此代码吗?

可能是什么问题以及如何解决?

你问了几个问题,这些问题暗示了一点额外的困惑。 所以:

所以我试图通过以下方式获取所有远程分支的列表:

$ git branch -r
origin/GLIS-Trigger-TAG
origin/HEAD -> origin/master
origin/master

那么究竟是什么意思呢?我指的是原点/头?什么意思?究竟什么是起源/头部

这意味着您的本地存储库具有名为'origin的远程的"远程分支引用",并且在该远程上它会看到名为masterGLIS-Trigger-TAG的分支。 远程的默认分支是master(这是origin/HEAD条目所说的(。

这些都不能告诉你你指向哪里。 在没有-r的情况下运行git branch将列出本地分支,如果您位于本地分支上,则该分支的名称前面将带有*。 您永远不会"在"远程分支上;如果checkout到远程分支引用,您将处于分离的头状态(不在任何分支上(,因为本地提交不会推进远程分支引用。

我必须打开源/主分支才能获取此代码吗?

不,正如我所指出的,尝试这样做会让你处于分离的 HEAD 状态(有时很好,但不是你想要的。

我的理解是,您可以在遥控器的master分支上看到更改; 因此,您需要切换到本地master分支 - 因为它很可能设置为跟踪origin/master。 (这是默认的,因此要做到这一点,您必须故意设置不同的配置。

git checkout master
git pull

您还可以通过以下方式获取所有远程引用的更新

git fetch

然后,您将能够通过多种方式检查任何分支的"最新"状态,例如通过签出分支并运行

git status

或者不必通过以下方式签出分支机构

git diff branch_name origin/branch_name

从您的终端,只需键入

git branch

这将列出所有分支并指出您当前所在的分支。

检查它是否是主分支。如果没有,那么您应该移动到主分支以获取更改。

git checkout master

然后

git pull

但另一方面,您希望将更改从 master 更改为当前分支,则无需移动到 master,而是使用此命令将 master 分支中的更改获取到当前分支

git pull origin master

相关内容

最新更新