我是git的新手,我正在通过tutorial设置子模块。我正在尝试理解所有命令并挂在下面的行上。
git config branch.master.remote origin
git config branch.master.merge refs/heads/master
有人可以解释git配置的作用以及如何解释
branch.master.remote
branch.master.merge
答案 0 :(得分:1)
为了能够将更改从上游分支合并到您的本地分支之一,您需要两条信息: - 上游分支所在的遥控器。 - 上游分支的名称。
使用该功能,一旦您检出目标本地分支,就可以发出以下命令:
git pull <upstream_remote> <upstream_branch>
进行预期的合并。
最常见的情况是,将远程源的主分支合并到本地主分支中,然后是:
git pull origin master
但是不得不一次又一次地打字。所以,你可以保存一些打字,告诉git记住这两个信息(远程和分支),这样你就可以只输入git pull
。
这就是你git config
命令正在做的事情。记住,对于您的本地分支 master ,需要两条信息:
git config branch.master.remote origin
“拉入主人时,请使用远程原点”
git config branch.master.merge refs/heads/master
“当拉入主人时,使用远程分支主人”
如您所见,概念很简单。这只是语法有点复杂。 最后两个注释:
最后,作为@VonC sai,我们现在可以通过更精细/简单的命令来做到这一点,但我认为值得知道git在幕后做了什么,并且在这种情况下git config命令很好地暴露它。 / p>
答案 1 :(得分:0)
默认情况下,git config会修改当前git仓库的本地配置。
(有三个级别的配置:system, global and local)
您提到的git config branch.master.xxx用于为您的本地分支机构设置 upstream branch ,以便您的本地仓库知道推送到哪里以及在哪里推送来自主分支。
That tutorial已经过时了,nowadays (1.8.0+), we would use:
git branch -u origin/master master
这会修改相同的配置文件,但您不必知道分支配置语法。
您可以使用git branch
审核所有上游分支:
git branch -avv
第一次推送时必须指定上游分支,如“Why do I need to explicitly push a new branch?”中所述。