当前回答
您可以从远程仓库获取, 查看差异, 然后拉动或合并 。
这是被称作远程仓库的示例origin
和支派,和支派,master
跟踪远程分支origin/master
:
git checkout master
git fetch
git diff origin/master
git rebase origin master
其他回答
git pull = git fetch + git merge
最简单的说,git pull
是否为 a 的git fetch
续 续 agit merge
.
git fetch
更新您的远程跟踪分支refs/remotes/<remote>/
。此操作可以随时安全运行,因为它不会改变您在refs/heads
.
git pull
本地分支提供其远程版本的最新信息,同时更新其他远程跟踪分支。
调自 Git 文档git pull
:
git pull
运行中git fetch
使用给定参数,然后取决于配置选项或命令行的旗帜,将调用其中之一git rebase
或git merge
以便各处之间互相调和。
有必要记住,在任何特定机器的Git存储库工作时,存储库载有来自所有远程的所有分支的复制件,以及每个地方分支的复制件,你已经做了一些工作。
你可以看到这个使用git branch -a
显示您所在的分支机构,包括master
和所有遥控器的分支。
master
feature/my-feature-branch
remotes/origin/master
remotes/origin/my-feature-branch
remotes/another-remote-machine/master
remotes/another-remote-machine/my-feature-branch
上面我已指出 遥控遥控器的存在origin
以另一个名称返回和另一个远程another-remote-machine
.
注意 您不必在所有仓库中拥有每个分支的复制件 。 (remotes 和 local.) 它取决于您通过运行同步 。git pull
, git push
, git fetch
,来自不同的机器 / 仓库 所涉及的。
Git 获取
您从源头通过获取下载到本地分支的更改 。 获取请求远程回购, 询问其他人所做的全部承诺, 但您没有在本地回购上。 获取这些承诺的下载, 并将其添加到本地仓库 。
基特合并
您可以通过合并命令获取下载的更改。 合并后将获取从获取中提取的承诺, 并尝试将其添加到您的本地分支。 合并后将保留您本地变化的承付历史, 这样当您以推力共享分支时, Git 将知道其他人如何将您的变化合并 。
吉特拉拉
抓取并合并一起运行的频率足够大, 足以创建一个将两者合并、 拉动、 合并的命令。 拉动时会抓取并合并, 以添加下载的字符串 。 @ info: whatsthis
git 拉
它使用单一命令执行两个函数。
它会获取对远程分支的所有修改, 然后将这些修改合并到您的本地分支中。 您也可以通过 -- rebase 来修改拉动行为。 合并和重基准的区别可以读取在这里
git 获取 git 获取
Git 抓取仅能完成 Git pull 的一半工作。 它只是将远程更改带入您的本地回购, 但没有将其应用到分支中 。 您必须明确应用这些更改 。 这可以做如下操作 :
git fetch
git rebase origin/master
更简短
git fetch
获取更新但不将其合并 。
git pull
是否为 a 的git fetch
兜帽下,然后一个merge
.
简简
git fetch
类似pull
但它不合并。 也就是说, 它会获取远程更新( NAME OF TRANSLATORS) 。refs
和objects
)但您的居住地保持不变(即:origin/master
得到更新,但master
保留原样) 。 。
git pull
从一个远程的并瞬间合并中拉下来。
更多
git clone
克隆回购 。
git rebase
将不属于上游分支的当前分支保存到临时区域。 您的分支现在和您开始更改前一样。 所以,git pull -rebase
将拉下远程修改, 倒转您的本地分支, 重放您的变化 在您当前分支的顶部 一个一个一个地重放 直到您更新。
还有git branch -a
将显示你们所有分支—— 本地和远程分支—— 究竟发生了什么。
这个博客文章很有用:
Git 拉拉、 Git 抓取和 Git 克隆( 和 Git 重新基底) - Mike Pearce 的区别
和涵盖范围git pull
, git fetch
, git clone
和git rebase
.
最新更新
我想我应该更新这个 来显示你是如何实际使用这个的。
从远程更新您的本地副本( 但不要合并) :
git fetch
下载更新后,
git diff master origin/master
如果你对最新消息满意的话, 合并一下:
git pull
注:
第2步:更多关于本地和远程之间差异的信息,见:如何比较本地 Git 分支与其远程分支的比较
第三步:也许更准确(例如,在快速变化的回购上)git rebase origin
此处。 见@ Justin Ohms 评论在另一个答案中。
另见:http://longair.net/blog/2009/04/16/git-fetch-and-merge/
注:我还提到merge
a 期间pull
然而,您仍然可以配置pull
使用rebase
取而代之。
推荐文章
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 跟踪所有远程git分支作为本地分支
- 为什么要把Gradle Wrapper提交给VCS?