20

我发现知道git branch --set-upstream-tovsgit remote add origin甚至之间的区别有点令人困惑git remote add upstream

基本上,我创建了一个git init --bare在网络上共享的裸存储库,以便其他开发人员也可以推送到它,以便我们在本地对项目进行版本控制,但不确定我应该在以上三个命令中运行哪个命令(或者如果有其他命令)跟踪该中央仓库,例如,我们将所有项目中的更改推送到该中央裸仓库并从中提取/获取。

有人可以请教吗?

4

2 回答 2

20

git remote add创建一个远程,它是另一个存储库的简写名称。 git branch --set-upstream-to设置要由指定的远程存储库中的分支跟踪的分支。

你想要做的是跟踪一个远程分支,它是用git branch --set-upstream-to或更简单git branch -u的 .

当您从另一个仓库克隆存储库时,会创建一个名为的远程仓库并签出origin分支。master让您的本地分支 master 跟踪远程分支 master 的命令是git branch -u origin/master,并且从本地 master 分支执行。

于 2013-01-05T06:09:22.720 回答
3

为了使用 设置远程跟踪分支set-upstream-to,您需要定义一个远程仓库。

当您的开发人员克隆裸存储库时,origin会自动为他们定义一个远程命名。即,在每个本地克隆上,agit remote -v将列出一个名为 的远程仓库origin,引用裸仓库。他们不需要定义一个名为upstream.

但是,这并不意味着来自该远程的所有分支都由本地分支跟踪。
这就是git branch --set-upstream-to可以发挥作用的地方。

于 2013-01-05T06:08:14.897 回答