我刚开始使用git并开始与其他开发人员在相同的代码上进行协作.我之前曾与SVN合作过一段时间,但从未与我的代码库上的其他人合作过.现在,由于合作者使用相同的代码,我需要一个高效的工作流程.在寻找这样的时候,我发现了这一点,这对我们的要求来说似乎是一个很好的工作流程.
我的存储库位于本地计算机中.我创建了存储库git init --bare.我添加了初始代码来掌握并推送它.然后我添加了一个"开发"分支使用git branch develop; git push -u origin develop.
现在我想从"开发"创建功能分支,我希望所有协作者都可以访问这些功能分支.我希望有一个嵌套的结构,像这样
origin/master
origin/develop
origin/develop/newFeature
origin/develop/anotherFeature
etc.
Run Code Online (Sandbox Code Playgroud)
因此,当合作者输入时,git branch -a他/她将立即知道"newFeature"处于"开发"行,并决定该怎么做.
经过一些试验和错误,这就是我所做的:
git clone file:///path/to/repo --branch develop
git checkout -b newFeature develop
EDIT some files
git add .
git commit
git push origin newFeature
Run Code Online (Sandbox Code Playgroud)
现在这个"newFeature"可供所有协作者克隆.git branch -a给我
develop
* newFeature
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
remotes/origin/newFeature
Run Code Online (Sandbox Code Playgroud)
那么"newFeature"真的是"开发"分支的一部分吗?或者它现在是分支?一旦我克隆了"newFeature",我该如何检查它是否是开发线?这可能会让人感到困惑,因为我可能会在适当的时候在master中找到一个名为"newFeature"的分支!
我对git如何工作的理解肯定是不够的.因此,如果有人能指出我正确的方向,那将是伟大的!
TIA,