首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否只有git获取通知?

是否只有git获取通知?
EN

Stack Overflow用户
提问于 2015-07-08 08:19:08
回答 4查看 191关注 0票数 1

我正在通过这本书git help命令学习Git。

我更改了origin的内容,并将其付诸实施。然后,我在存储库的“本地副本”中启动了git fetch origin命令。

代码语言:javascript
复制
$ git fetch origin
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (4/4), done.
From D:/_git.sandbox/./my_remote_project
   a03e9df..837c57d  master     -> origin/master

这个信息我不清楚..。从书中:

正如您刚才看到的,要从远程项目获取数据,可以运行: $ git fetch [remote-name] 该命令将发出到远程项目,并从该远程项目中提取尚未得到的所有数据。完成此操作后,您应该有对来自该远程的所有分支的引用,您可以随时合并或检查这些分支。

如果在git fetch origin之后我做了origin不可用,那么我会得到一个git pull错误。因此,在我看来,git pull请求可以使用origin并仍然使用它,而不是下载的远程存储库的更改。也就是说,git fetch告诉我origin存储库已经更改(如果发生的话),但不会将这些更改下载到本地存储库中。要下载这些更改并在存储库的本地版本中实现,我将执行git pull。也就是说,当我启动“git状态”时,git fetch是一种通知更新“原产地”存储库的方法?我说的对吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-07-08 08:29:39

不是的。

git fetch下载本地没有存储的远程存储库的更改。不过,它并不适用于您的本地分支机构。

git pull是一个git fetch,后面是您设置的分支的git merge,在拉出时要合并。

票数 3
EN

Stack Overflow用户

发布于 2015-07-08 08:24:18

或多或少。

fetch之后,您已经下载了远程的对象,在本例中是origin (如果需要,提交和引用),但这不会改变本地存储库(它们没有应用)。要使本地masterorigin/master同步,需要在($ git merge origin/master)中使用merge

pull只是一个fetch,后面是当前分支上的一个merge。所以你通常只需要$ git pull

注意,如果有几个分支,那么只有当前的分支会在拉后合并(但是fetch对整个远程都有效)。

票数 1
EN

Stack Overflow用户

发布于 2015-07-08 08:35:31

git fetch只更新表示远程的分支(例如origin/master)。如果您想获得本地分支中的更改(例如master),则需要对它们进行git merge。或者,您可以使用git pull命令同时执行这两种操作。

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

https://stackoverflow.com/questions/31287122

复制
相关文章

相似问题

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