git - 为什么“git pull”有时会要求我提供合并请求评论?
问题描述
我看到有时,我没有排队提交任何东西。我做一个
git status
这让我“没有任何承诺”。之后我做了一个
git pull
它从远程存储库中获取所有更新。人们会期望命令到此结束,对吗?但相反,它给了我一个 vim 编辑器,其中包含“添加您的评论以进行合并”的消息。
这里发生了什么?当我拉动时,git试图完全合并什么?这似乎是随机发生的。
解决方案
要注意的是,git pull
不仅从远程存储库获取更新,还要将它们与本地分支集成(合并)。
如果您还没有触及本地分支,那么git pull
只需将您的分支更新为远程版本(也称为快进)。但是,如果您在本地版本上进行了任何提交,那么您的分支和远程已经分歧,并且为了将远程合并回来,git 需要创建一个合并提交。这就是为什么有时只要求您提供合并提交消息的原因。
在下面的示例中(来自git help pull
),您在提交 E 处克隆了远程存储库。然后您提交了 F 和 G。与此同时,A、B 和 C 被提交到远程。然后,当你告诉 git 拉取这些更新时,它会创建合并提交 H。
A---B---C origin/master
/ \
D---E---F---G---H master
如果您只想查看来自远程的更新,而不是实际将它们合并到本地分支,请使用git fetch
而不是git pull
. (git pull
基本上是git fetch
+ git merge
。)然后您可以使用 . 查看遥控器上的历史记录git log origin/master
。
推荐阅读
- node.js - VS Code - 进程退出并出现代码 1 错误
- ffmpeg - 为 ffmpeg 编译 libsrt 时出现问题,使用 pkg-config 找不到库
- java - java中数组元素的总和
- .net - 如何在解决方案中获取所有分析器规则
- sylius - Sylius 产品关联返回 Sylius 1.10 的错误
- tomcat - 如何指示 Tomcat 监听自定义的 conf/Catalina/localhost 目录
- java - 正则表达式识别字符串中的 JSON 以使用 : 分隔符进行拆分
- javascript - 如果我触摸 BottomTab 它不会导航到该组件
- python - 解读 BIC 分数图
- c# - 获取 Panel 内 DropDownList 的 SelectedValue