首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git说分支是最新的,而不是最新的。

Git说分支是最新的,而不是最新的。
EN

Stack Overflow用户
提问于 2015-09-12 11:37:36
回答 2查看 827关注 0票数 1

我已经克隆了bitbucket存储库,文件是在目录中下载的。我发现只下载了主(Main)分支的文件,存储库中还有两个分支,在克隆过程中没有下载来自这两个分支的提交。当我通过git checkout切换到这些分支并使用git pull终端时,already up-to-date说,但是这些分支中没有任何东西是最新的。甚至该项目也没有运行,因为缺少这些更新。git下载了这个项目,但没有完全下载,我使用了一些更多的命令,比如来自其他堆栈溢出问题的$ git fetch origin other-branch && git merge other-branch,但没有进行任何更改。我只开始使用git,我只知道很少的命令。有人能简单地解释一下如何解决这个问题吗?我不知道我是否提供了足够的信息来解释。git branch -avv给了我这个:

git branch -avv data-export dbc2e32 [origin/data-export] resolve conflicts and merge data-export to master * genset d93228b [origin/genset] Scoreboard with kilowatt hours master 4089eb8 [origin/master] allow 31h meter config remotes/origin/HEAD -> origin/master remotes/origin/data-export dbc2e32 resolve conflicts and merge data-export to master remotes/origin/genset d93228b Scoreboard with kilowatt hours remotes/origin/master 4089eb8 allow 31h meter config

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-08 18:23:36

再次克隆并且只设置git remote add origin确实对此有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2015-09-12 12:17:14

这些分支是在git clone期间下载的。

做一个git branch -avv,你就会看到它们:就像remotes/origin/abranch

(abranch只是这里的一个例子)

git checkout abranch将自动链接到远程跟踪分支origin/abranch

来自git checkout

如果没有找到<branch>,但确实存在一个具有匹配名称的远程(称为<remote>)的跟踪分支,则将其视为等效于

代码语言:javascript
复制
$ git checkout -b <branch> --track <remote>/<branch>

这就解释了:

当我通过git checkout切换到这些分支并使用git pull终端时,已经是最新的了。

正如git branch -av的输出所示,git checkout data-exportgit checkout genset自动将这些本地分支链接到它们的上游分支--远程跟踪分支origin/data-exportorigin/genset

它们的SHA1是相同的,这就是为什么git fetchgit pull会返回“最新”的答案。

一旦在其中一个分支上完成提交,git push将成功地更新远程origin回购上的同一个分支。

full discussion here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32538328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档