我发现知道git branch --set-upstream-to
与git remote add origin
甚至git remote add upstream
之间的区别有点令人困惑
基本上,我有一个用git init --bare
创建的裸存储库,它在网络上共享,以便其他开发人员也可以推送到它,以便我们在本地上有我们的项目版本,但不确定我应该在上面三个(或者如果有其他一些)中运行哪个命令来跟踪中央repo,例如我们将所有项目的更改推送到中央裸repo,并从中提取/获取。
有谁能指点一下吗?
git remote add
创建一个远程,这是另一个存储库的简写名称。git branch --set-upstream-to
设置一个分支,由指定的远程存储库中的分支跟踪。
您想要做的是跟踪远程分支,这是用git branch --set-upstream-to
或更简单的git branch -u
完成的。
当您从另一个存储库克隆一个存储库时,将创建一个名为origin
的远程,并签出分支master
。让本地分支主机跟踪远程分支主机的命令是git branch -u origin/master
,并从本地主分支执行。
为了用set-upstream-to
设置远程跟踪分支,您需要定义一个远程repo。
当您的开发人员克隆裸repo时,将自动为他们定义一个名为origin
的远程。也就是说,在每个本地克隆上,git remote -v
将列出一个名为origin
的远程repo,引用裸repo。它们不需要定义一个名为upstream
的远程。
然而,这并不意味着来自该远程的所有分支都由本地分支跟踪。
这就是git branch --set-upstream-to
可以发挥作用的地方。