git branch -set-upstream-to vs git remote add origin之间的区别

时间:2013-01-05 05:59:24

标签: git version-control versioning

我发现了解git branch --set-upstream-togit remote add origin甚至git remote add upstream

之间的区别有点困惑

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

任何人都可以对此进行启发吗?

2 个答案:

答案 0 :(得分:15)

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

您要做的是跟踪远程分支,该分支使用git branch --set-upstream-to或更简单地git branch -u完成。

从另一个存储库克隆存储库时,会创建一个名为origin的远程数据库,并检出分支master。使本地分支主服务器跟踪远程分支主服务器的命令是git branch -u origin/master,并从本地主分支执行。

答案 1 :(得分:2)

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

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

但是,这并不意味着本地分支机构会跟踪该遥控器的所有分支 这就是git branch --set-upstream-to可以发挥作用的地方。