如何发现git pull的当前默认行为?

3
我在启动VS Code时开始收到这个警告:

enter image description here

我下载了Git for Windows v2.27.0。在运行安装程序时,遇到了这个提示:

enter image description here

我想选择与 Visual Studio 安装 Git 时相同的默认行为,以保持一切顺利运行。我对 Git 的使用还不够熟练,不想出现问题。

我还没有继续操作;我不想冒险弄糟它。

这个问答 讨论了这个概念,但并没有找到默认值。官方文档 在这里也不够详细。

有办法确定当前的默认值吗?

如果没有,是否可以在事后更改默认值,以防我选择了错误的选项?


默认是你的截图上的Defaultgit pull默认会获取远程分支并尝试合并它。如果是快进合并,那么你将不会看到任何合并提交,否则就会有一个。 - 0andriy
也许如果我真的运行了git pull,那会告诉我吗? - InteXX
2个回答

5

[编辑] 我刚在Windows上重新运行了安装程序:

如果您已经有一个现有的.gitconfig,安装程序会检查它;保留预选选项就是保留您现有的配置。


查看您的两个配置变量pull.rebasepull.ff

从终端运行:

git config --global pull.rebase
git config --global pull.ff

或者在您的主目录中打开.gitconfig文件

  • 如果设置了pull.rebase为“true”:那就是第二个选项
  • 如果设置了pull.ff为“only”:那就是第三个选项
  • 否则:那就是第一个选项

OP在谈论Windows和与VS Code的集成。你确定它通过PATH将Git显示给系统吗? - 0andriy
.gitconfig文件中除了我的名字和电子邮件地址之外,没有其他内容,它们位于[user]下面。此外,无论哪个终端命令都不会产生任何输出。只是为了澄清一下,这是否意味着您所列出的项目列表中的“else”? - InteXX
如果在这种情况下出现问题,我相信那就需要提出一个新的问题。你同意吗? | @0andriy - InteXX
@InteXX:是的,这是'else'情况(实际上是默认情况)。 - LeGEC

2
LeGEC的答案基本上是正确的,但这可以更简单地解决:
“真正”的默认行为是,如您的截图所示,“ff或merge”。没有可信的第三方工具会在不经过询问(或至少通知)用户的情况下更改此选项,因为“rebase”被认为是一个潜在的危险选项,“仅限ff”会破坏一些非常基本的、非常常见的工作流程。
如果这似乎不太令人信服,那么检查配置是确定的最佳方法,但我想补充一点:
配置可能看起来没有相关的设置。这意味着要么(1)您查看了特定的配置文件,但配置是从不同的源绘制的(git有一个分层配置方案),要么(2)使用默认值。很可能是(2),但为了避免歧义,如果您要检查配置,您需要使用git config命令,以便在运行命令时确切地看到git看到的内容。当然,这意味着您必须能够访问相应安装中的git命令。

这导致了另外一种选择:如果您能记住(或使用历史记录检查)与存储库的交互经验,那么您可能可以弄清楚使用了哪些选项。例如:

您是否经常看到像“将原始/dev合并到本地分支dev”之类的合并提交注释?如果是这样,则使用默认选项。

拉取操作是否由于非快进条件而失败?那么您正在使用第三个选项。

您的历史记录是否比实际情况更线性?它是否还散布着一些无法正常构建的提交,您不确定为什么,因为您确定只提交了工作状态?如果是这样,那么要么(1)您已经手动重新基础作为工作流程的一部分(如果是这种情况,您会知道),要么(2)您正在使用第二个选项。


谢谢你,马克,我很感激。问题在于:我是一个独立开发者,所以除非在极少数情况下,我不使用git pull。(唉,我甚至都不做PR!)但是我相信从所有这些中(是的,我运行了终端命令——没有输出),我的VS安装在最初安装git时使用了默认行为。 - InteXX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接