我似乎把Git术语和远程回购短名称的约定搞糊涂了。这是我的Git设置(我相信它是Git-flow-ish,类似于在Gitorious, GitHub, GitLab和类似的网站上协作):
- My local repo [a]
- My remote repo [b]
- 我的同事的本地repo [c]
- 我的同事的远程回购[b]
- "中央"远程仓库——按照惯例我们认为是"最终"的仓库——用于合并/重基/发布/发布——在SVN术语中称为"主干"——在我们的特定工作流中这里只有一个分支(称为master) [b]
- (bonus)我在另一台机器上的本地repo [d]
[a]存储在我的机器上
[b]存储在公共服务器上
[c]存储在同事的机器上
[d]假设的,但为了完整性
远程存储库的常规短名称是什么?我如何参考我的本地库存?到目前为止,我一直使用:
- "my local repo"
-
origin
(别人叫它d3vid
或者我的用户名是什么) - "your local repo"
-
alovelace
(当然,在她自己的机器上,她会称之为origin
) -
upstream
(我们都这么叫它) - "my other local repo"
同样,5可能是GitHub上某个项目的官方远程repo, 2是我的GitHub克隆,1和6是我的本地副本,4是你的GitHub克隆,3是你的本地副本。
然而,Git设置upstream
似乎指的是"目标远程repo+本地分支的分支"。同样,origin
似乎是一个灵活的术语。我显然把Git的"上游"和FLOSS的"上游项目"概念搞混了。
本地和远程存储库名称相同。
http://git-scm.com/book/en/Git-Basics-Working-with-Remotes官方文档:http://git-scm.com/book/en/Getting-Started
Git远程文档没有考虑"中央"远程的可能性,大概是因为它关注dvcs并且与工作流无关。
默认情况下,您克隆的第一个远程将被简称为origin
。
连续远程没有默认短名称,必须在添加时设置。(可稍后更改)
最初的Git Flow帖子建议以下短名称约定:
- "中央"遥控器简称为
origin
- (此远程包含关键的Git Flow分支
master
和develop
)
- (此远程包含关键的Git Flow分支
- 其他远程以其所有者(用户或团队)命名
- (分支遵循Git Flow命名约定
release-
,feature-
等)
- (分支遵循Git Flow命名约定
因此,在Git Flow约定下,origin
不是指"我的远程",而是指"中央远程"。"my remote"简称为myusername
.