为什么我不能在 BitBucket 存储库中提取新代码?说 "Already up-to-date" 但我没有所有推送的代码
Why I can't pull the new code on the BitBucket repository? Says "Already up-to-date" but I have not all the pushed code
我不是很喜欢 GIT 我有以下问题我无法理解。
我正在与另一个人一起使用 BitBucket 存储库。
我试图获取我同事推送的新代码,这样做:
git pull
但它对我说:
$ git pull
Already up-to-date.
但是在 BitBucket 存储库上(它在远程 master 分支,我可以在 BitBucket 网站上看到它)有一些我本地系统上没有的代码.
所以我尝试通过以下方式获取所有远程分支的列表:
$ git branch -r
origin/GLIS-Trigger-TAG
origin/HEAD -> origin/master
origin/master
那么到底是什么意思呢?我指的是origin/HEAD?这是什么意思? origin/HEAD
到底是什么
我必须打开 origin/master 分支才能获取此代码吗?
可能是什么问题以及如何解决?
在您的终端中,只需输入
git branch
这将列出所有分支并指出您当前所在的分支。
检查是否是master分支。如果没有,那么您应该移至主分支以获取更改。
git checkout master
然后,
git pull
但是另一方面,你想要从master分支到当前分支的变化,那么就没有必要移动到master,而是使用这个命令将master分支的变化获取到你当前的分支
git pull origin master
您问了几个问题,这些问题暗示了一些额外的困惑。所以:
So I tried to obtain the list of all the remote branches by:
$ git branch -r
origin/GLIS-Trigger-TAG
origin/HEAD -> origin/master
origin/master
So what exactly means? I am pointing to origin/HEAD? What it means? What exactly is origin/HEAD
这意味着您的本地存储库有 "remote branch references" 用于名为 'origin
的远程,并且在该远程上它看到名为 master
和 GLIS-Trigger-TAG
的分支。遥控器的默认分支是 master
(这是 origin/HEAD
条目所说的)。
None of this 告诉你你指的是哪里。 运行 git branch
没有 -r
会列出本地分支机构,如果您在本地分支机构上,那么该分支机构的名称将以 *
开头。你永远不是 "on" 远程分支;如果您 checkout
到远程分支引用,您将处于分离头状态(不在任何分支上),因为本地提交不会推进远程分支引用。
Have I to switch on the origin/master branch to obtain this code?
不,正如我所说,尝试这样做会使您处于分离的 HEAD 状态(这有时很好,但不是您想要的。)
我的理解是,您在远程的 master
分支上看到了变化;因此,您需要切换到 local master
分支 - 因为它很可能设置为跟踪 origin/master
。 (这是默认设置,因此您必须故意设置不同的配置。)
git checkout master
git pull
您还可以通过
获取所有 远程引用的更新
git fetch
然后您可以通过多种方式检查任何分支的 "up-to-date" 状态,例如检查分支和 运行
git status
或无需通过
签出分支
git diff branch_name origin/branch_name
我不是很喜欢 GIT 我有以下问题我无法理解。
我正在与另一个人一起使用 BitBucket 存储库。
我试图获取我同事推送的新代码,这样做:
git pull
但它对我说:
$ git pull
Already up-to-date.
但是在 BitBucket 存储库上(它在远程 master 分支,我可以在 BitBucket 网站上看到它)有一些我本地系统上没有的代码.
所以我尝试通过以下方式获取所有远程分支的列表:
$ git branch -r
origin/GLIS-Trigger-TAG
origin/HEAD -> origin/master
origin/master
那么到底是什么意思呢?我指的是origin/HEAD?这是什么意思? origin/HEAD
到底是什么我必须打开 origin/master 分支才能获取此代码吗?
可能是什么问题以及如何解决?
在您的终端中,只需输入
git branch
这将列出所有分支并指出您当前所在的分支。
检查是否是master分支。如果没有,那么您应该移至主分支以获取更改。
git checkout master
然后,
git pull
但是另一方面,你想要从master分支到当前分支的变化,那么就没有必要移动到master,而是使用这个命令将master分支的变化获取到你当前的分支
git pull origin master
您问了几个问题,这些问题暗示了一些额外的困惑。所以:
So I tried to obtain the list of all the remote branches by:
$ git branch -r origin/GLIS-Trigger-TAG origin/HEAD -> origin/master origin/master
So what exactly means? I am pointing to origin/HEAD? What it means? What exactly is origin/HEAD
这意味着您的本地存储库有 "remote branch references" 用于名为 'origin
的远程,并且在该远程上它看到名为 master
和 GLIS-Trigger-TAG
的分支。遥控器的默认分支是 master
(这是 origin/HEAD
条目所说的)。
None of this 告诉你你指的是哪里。 运行 git branch
没有 -r
会列出本地分支机构,如果您在本地分支机构上,那么该分支机构的名称将以 *
开头。你永远不是 "on" 远程分支;如果您 checkout
到远程分支引用,您将处于分离头状态(不在任何分支上),因为本地提交不会推进远程分支引用。
Have I to switch on the origin/master branch to obtain this code?
不,正如我所说,尝试这样做会使您处于分离的 HEAD 状态(这有时很好,但不是您想要的。)
我的理解是,您在远程的 master
分支上看到了变化;因此,您需要切换到 local master
分支 - 因为它很可能设置为跟踪 origin/master
。 (这是默认设置,因此您必须故意设置不同的配置。)
git checkout master
git pull
您还可以通过
获取所有 远程引用的更新git fetch
然后您可以通过多种方式检查任何分支的 "up-to-date" 状态,例如检查分支和 运行
git status
或无需通过
签出分支git diff branch_name origin/branch_name