我在GitHub上创建了一个存储库。
然后,我通过SmartGit将我的fork克隆到本地开发环境的一个文件夹中。此外,我将原始存储库添加为远程存储库。
现在,原来的存储库已经添加并更改了一些文件。在继续开发之前,我想检索这些内容,以便了解最新情况。
在SmartGit中按下Pull按钮,然后在对话框中选择原始存储库。SmartGit将此返回给我:
remote: Counting objects: 24, done.
remote: Total 13 (delta 7), reused 12 (delta 6)
From github.com:Original/repo
* [new branch] master -> lm/master但是,添加的文件和更改不会添加到我的本地存储库。使用Git Bash - git pull original master手动执行此操作,一切工作正常。
为什么SmartGit不能像我预期的那样拉动?
发布于 2012-05-08 18:11:10
在git拉取时,SmartGit将执行"git fetch“,并在此之后进行合并。重新设置跟踪分支的基址。在您的例子中,master跟踪的是origin/master,而不是lm/master。您现在有以下选择,始终假定您使用的是master
(1)将master配置为跟踪分支而不是origin/master:调用分支|分支管理器,选择master,从上下文菜单中调用重置跟踪的分支,然后将lm/master添加到选择中并调用设置跟踪的分支。现在,它是lm/master,它将根据每个拉取进行合并(或重新建立)。
(2)手动合并lm/master:调用Branch|Merge,选择lm/master。
(3)手动重设到主机:调用Branch|Rebase,选择HEAD to selected commits,然后在图形页面上选择lm/。
发布于 2013-05-29 17:41:50
我最终在SmartGit中做的是:
Remote > Add (正如您所做的)。我将我的upstream.Right click upstream > fetch more..,并选择分支。(通常为主页)分支面板Double click upstream > master中的Double click Local Branches > Master,让你回到你的主分支。在这一点上,我假设您只是在几分钟前才对项目进行了分叉,因此下一步将不是很有用,但是如果在以后的阶段有一些额外的提交,您将需要这样做。
Remote > Pull,然后选择upstream。如果你按下小的向下箭头,你会看到你只能合并而不是“”。This is good.Click fetch这将允许你看到所有的日志和发生了什么变化。如果你相信你可以的话,在分支面板Right click Local Branches > upstream > Merge.Fast-Forward中Create Merge-Commit.从现在开始,你只需要做最后5步。第一步是设置好的。
发布于 2012-05-08 17:45:40
如果当前本地分支的是"lm/master“,您将看到新文件。
但是如果你在master上,它的上游分支肯定是默认的"origin/master“(即你的fork的master )
如果要合并原始存储库中的文件,请使用
git merge lm/master或者,从lm/master in SmartGit, merge到您当前的分支。
https://stackoverflow.com/questions/10495624
复制相似问题