如何在git中设置默认遥控器?

时间:2019-03-07 14:01:12

标签: git branch git-pull

我的git仓库中有多个遥控器。如果我执行git pull,那么它将要求我一位同事的密码。

如何将遥控器更改为black

3 个答案:

答案 0 :(得分:5)

除了上面的响应(描述了如何为本地副本中的现有分支设置远程存储库)之外,我还认为值得扩展这一点,注意而默认分支无法为git pull,可以使用git checkout设置在存储库中为checkout.defaultRemote设置默认的远程 但这确实有好处。 ,那么当您第一次开始使用具有多个遥控器的项目时,或者一旦您开始添加其他遥控器时,就需要进行配置。

在下面的示例中,我将使用远程名称origin而不是您的特定远程名称black,因为对于大多数人来说,origin远程是您要使用的远程名称。想要这样设置。不过,出于您的目的,只需在以下示例中将任何原始实例替换为黑色。
首先,您要在控制台中键入以下内容:

git config checkout.defaultRemote origin

此命令将以下部分添加到存储库的.git / config文件中:

[checkout]
     defaultRemote = origin

此命令的结果是,每次您要从“来源”设置远程分支的新本地副本时,只需键入:

git checkout some-branch

而git会假设您实际上是在说:

git checkout --track origin/some-branch

这是使用git checkout -b some-branch从上述解决方案中设置本地副本的另一种方法,当您知道分支已存在于一个或多个远程服务器上时,此方法将更为有用。 / p>

受跟踪的分支意味着,当您随后需要执行git pull时,它将知道要从哪个远程进行提取。如果尚未设置本地分支来跟踪某个远程服务器,或者如果已经设置了 ,但仍想从另一个远程服务器中提取代码,那么您将始终需要手动指定要从哪个远程服务器中提取代码git pull <remote-name>

如果您发现自己经常在各种项目中遇到此问题,则更全面的设置是创建一个规则,即始终将默认远程添加为所有项目中的“原始”远程,然后使用以下命令全局设置此配置:

git config --global checkout.defaultRemote origin

答案 1 :(得分:2)

要自动执行此分支的过程:

git config branch.<your-branch>.remote black

答案 2 :(得分:2)

没有默认的远程服务器,每个分支都可以从远程仓库中跟踪特定的分支。

如果您使用git checkout -b <branch-name>创建了分支,其中<branch-name>是远程分支的名称,则新分支将跟踪该分支(从任何托管它的远程主机开始)。

如果您在本地创建分支,然后使用git push --set-upstream <remote-name> <branch-name>,则本地分支<branch-name>将跟踪远程分支<remote-name>/<branch-name>

您始终可以使用git branch --set-upstream-to来更改当前分支所跟踪的远程分支,或使用git branch --unset-upstream来使其不跟踪任何远程分支。