是否可以使用VisualStudioGit工具执行Git拉取--重新基址(默认情况下可以设置)

是否可以使用VisualStudioGit工具执行Git拉取--重新基址(默认情况下可以设置),git,visual-studio,visual-studio-2013,visual-studio-2015,rebase,Git,Visual Studio,Visual Studio 2013,Visual Studio 2015,Rebase,首先,正如标题所说,在一个步骤中(即不fetch然后rebase)是否可以执行拉取--rebase 其次,是VisualStudio中的一个设置,它强制内置的Team Explorer git工具始终执行拉取--rebase,而不是标准的拉取(提取/合并) 我知道您可以使用git config branch.autosetuprebase everys在全局或项目配置文件中设置默认值,但我想特别了解Visual Studio是否可以像大多数其他GUI一样更新/更改该设置或具有类似选项。我找不到任

首先,正如标题所说,在一个步骤中(即不
fetch
然后
rebase
)是否可以执行
拉取--rebase

其次,是VisualStudio中的一个设置,它强制内置的Team Explorer git工具始终执行
拉取--rebase
,而不是标准的
拉取(提取/合并)


我知道您可以使用
git config branch.autosetuprebase everys
在全局或项目配置文件中设置默认值,但我想特别了解Visual Studio是否可以像大多数其他GUI一样更新/更改该设置或具有类似选项。我找不到任何东西,所以看起来好像找不到,所以问题就来了。

打开Git Bash并粘贴:

git config --global branch.autosetuprebase always

这将使未来的每一次
pull
a
pull--rebase

Visual Studio 2015不支持pull+rebase。您可以通过执行“branch”的提取,然后在“origin/branch”上执行rebase来手动实现。但不是自动的


如果Visual Studio 2017(候选发行版)在全局git设置中配置为默认选项,则当前将执行pull+rebase。它现在仍然会给你一个警告,说“意外的合并结果”。我希望在最终版本出来之前能解决这个问题

这是您可以进行实际的
重基拉动的最接近的地方

首先,在要重设基础的远程设备上进行提取。它不会是“拉-再基”,但您可以进入团队资源管理器>分支>远程>(选择您的远程)>右键单击要
再基到的分支
,然后单击
再基到
单击再基,您基本上已经对远程分支进行了拉/再基操作


(但目前这是在不运行git bash的情况下重新设置远程更新的唯一方法)

在VS2017中,您可以使用内置功能更改重新设置的git设置:转到团队资源管理器->主页->设置->全局设置或存储库设置->在拉取时设置重新设置本地分支:True()

将IDE用于IDE内容,将版本控制工具用于版本控制内容。我不知道有哪种IDE能够正确地处理Git的强大功能,所以我使用Git唯一真正的接口,命令行。但是,我不会用命令行开始调试或编程。这就是IDE通常擅长的地方。我个人同意你的观点,但我的问题非常具体,因为其他人可能会尽可能多地使用IDE生态系统。我希望在管理git最佳实践的同时尽量减少他们的干扰。如果最终的答案是只使用CLI或SourceTree之类的工具,那么最好有具体的原因,比如不能使用IDE@CarrieKendall我甚至没想到去看答案。感谢。+1感谢
git config branch.autosetuprebase始终
。这是我今天学到的新知识,请明天再说。我要投票才能让它进入:Visual Studio 2015中的git客户端实现不支持此设置。它对我很有用,不过,如果您有未限制的更改,它将退回到正常的拉取。我还没有在Visual Studio中找到“git stash”。它在切换分支时会自动隐藏/取消隐藏。否则,它不支持隐藏,您可以只创建另一个临时分支。Visual Studio会忽略您在拉取时更改的任何设置。在没有任何本地更改的情况下执行拉操作将导致快进(因此没有合并提交)。我已经更改了您提供的设置(并设置了
pull.rebase preserve
),通过本地更改,它将创建一个合并提交。每当你点击sync(来源:)时,Vs就会执行一个
pull——不重新设置基址2015不直接支持pull--rebase,但它确实支持对最新的远程分支进行重定。在执行获取后,请从“分支”窗口中进行重定。您知道我是否可以在源代码管理中检查某些内容,以便这也成为其他团队成员在特定回购中的默认设置吗?还是必须通过某种VisualStudio策略来共享?