Git分支与在不同工作目录中处理主分支

Git分支与在不同工作目录中处理主分支,git,Git,假设您有一个名为foo_bar的项目,您正在为一些新功能编写一些代码。。。做一个承诺。。。然后推到原点。也许现在你可以和几个同事分享你项目的链接。现在让我们假设您想在这方面做更多的工作,但不想弄乱当前的生产代码。为什么要创建另一个分支而不是创建另一个工作目录,编辑主分支,直到得到所需的方式,在它准备好时将其推到原点,然后在生产回购中将其下拉 直接编辑主分支的替代方法很好,这本身没有问题。当您希望与另一位同事共享您的新更改时,您将获得创建一个新分支的好处,该同事随后也将提供帮助,然后再合并回主分支

假设您有一个名为foo_bar的项目,您正在为一些新功能编写一些代码。。。做一个承诺。。。然后推到原点。也许现在你可以和几个同事分享你项目的链接。现在让我们假设您想在这方面做更多的工作,但不想弄乱当前的生产代码。为什么要创建另一个分支而不是创建另一个工作目录,编辑主分支,直到得到所需的方式,在它准备好时将其推到原点,然后在生产回购中将其下拉

直接编辑主分支的替代方法很好,这本身没有问题。当您希望与另一位同事共享您的新更改时,您将获得创建一个新分支的好处,该同事随后也将提供帮助,然后再合并回主分支。

通过在单个存储库和工作目录中创建多个分支,切换分支时,您不必更改任何有关开发环境的内容:无论您使用的是主分支还是功能分支,您的工作目录可能总是
/path/to/myproject

如果这对您不重要,那么将存储库克隆到另一个目录并将其用作第二个分支是完全合理的。事实上,Mercurial的文档中明确提到了这种分支方法,并且它与Git同样适用