【发布时间】:2013-06-29 10:02:15
【问题描述】:
我们遵循这种使用 git 的模型: http://nvie.com/posts/a-successful-git-branching-model/
我正在尝试学习在特定合并上使用 git fetch 和 git merge 而不是仅仅拉取。对于我的问题,我所做的是对分支进行更改并将这些更改推送到分支。我在 github 上看到了这些变化。然后我切换到 master 以获取这些更改。所以我
git checkout master
git fetch // terminal shows nothing
git fetch origin // terminal shows nothing
我是否正确使用命令进行获取?我在控制台上看不到任何东西。但是,当我使用 SourceTree 之类的工具并进行获取时,它会更新它们的树,并且我可以看到更改。
假设我开始执行下一步,并且我看到进行了不同的更改,我是否只需执行git merge <hash of the last commit or commit I want to merge in>?谢谢!
【问题讨论】:
-
如果一切都是最新的,那么
git fetch将不会输出任何内容。 -
@dyng 我不认为 master 是最新的,因为当我构建时,我没有我在最后一个分支上拥有的最新功能。这有意义吗?
-
默认情况下,如果你为
master设置了一个upstream,git fetch origin会获取到origin/master(notmaster)的代码,我的意思是@当我说最新时,987654329@ 是最新的。您可以通过git diff master origin/master查看。如果没有,可能你没有设置上游。 -
获取是从 repo 存储库更新内部引用和对象(在 .git 内),但要查看最新功能,您必须合并它们。如果您已经在本地 master 分支中,则可以这样做:
git merge origin/master(这将合并本地“master”分支中远程“origin/master”隐含的所有修改)
标签: git