使用git与多人合作时,情况会更好
正如我所看到的那样,在(1)的情况下,虽然每个主人都充当一个分支,但每个人都希望在彼此的工作之间融合一个主要是线性的流,而在(2)中,每个人都希望合并一个共同的主人.进入他们的分支,并在他们准备好时将更改从他们的分支推送到共同的主人.
具有使用git工作在中型到大型团队工作经验的人可以发表任何评论吗?哪种方法最适合您的团队?我想第三种选择是总是使用特征分支而不是人分支,尽管我认为这与(2)从这个问题的观点基本相同.
我想,在(1)和(2)中,一个人负责将变更拉到"官方"主人.如果超过一个人作为推动访问官方主人,这将如何延续?
我刚刚开始使用版本控制,我的头在旋转!我试图围绕树枝,结帐,合并和变基础.我相信这些都是愚蠢的问题,但我真的很感激一些帮助.
我的项目是PHP.我正在使用Aptana工作室为我的IDE,Bitbucket和SourceTree用于Git GUI.
所以我想我可能会对这应该如何工作有一个粗略的想法.请告诉我我错在哪里.
说我想添加一个新功能.我有一个主分支.在Aptana中,我可以右键单击文件→ 转到团队,然后创建一个新分支.我可以说出那个分支feature a1bc.我做了我的改变.
完成此功能和所有更改后,我单击Team → Commit,然后Team → Merge branch → master.这会将我的更改合并回主仓库.
这大致是我将如何进行功能添加等?如果随着时间的推移我有100多个功能,我该怎么办?我是否保留所有这些功能分支或在它们合并后删除它们?
我知道你可以根据svn中的这个结构来组织你的文件:
主干分支标签
如果您想要一个单独的开发线,您将主干复制到分支机构中的文件夹.稍后你将这个分支合并回主干.
但我想知道为什么我和我的团队应该这样做.为什么要将主干复制到分支并使用此副本只是为了将其合并回主干,并且代码经常更新/提交以保持与主干保持同步.为什么不只是与树干一起工作呢?
创建分支有什么好处?
如果有人可以阐明这个话题,那将会很棒.
提前致谢
我正在尝试在我的本地Windows机器上使用Git.我有一个现有项目,我想进入Git.我不太确定我应该如何构建工作流程.我应该将现有的项目文件夹作为我的项目的主要仓库,然后创建其他分支吗?或者我应该为所有Git repos创建一个中心位置,将我现有的项目文件复制为主要仓库,然后从中央仓库检查我的项目到新文件夹?
一个类似措辞的问题是,如果有一个中央Git文件夹,您的所有存储库都存在或者是否应该有每个项目分散的主要存储库(树干?)?
我想这个问题在本地运行和使用Git时才有意义.当它用于真正的远程仓库时,它似乎更有意义.
即使在阅读文档后,我对git标记感到有点困惑.
说我正在改变我的develop分支.
我应该在进行更改之前创建标记,还是应该在进行更改后添加标记?哪个工作流程更好?
最初我被要求使用git push --tags,但在运行后git tag我显示了5个标签的列表(release-1,...,release-5),当我尝试运行时,git tag -v release-5我被提示有以下错误,同样适用于其他版本.有任何想法吗?
error: 575bbe56b0c021c51e2b819763c1ff15cc5d2186: cannot verify a non-tag object of type commit.
error: could not verify the tag 'release-5'
Run Code Online (Sandbox Code Playgroud)如果我曾经git push在Develop分支中推送标签,然后合并到Master分支,我还需要做另一轮git push --tags
标签与分支有何不同?哪个更好?