使用GIT如何正确处理这种情况?将 v2.0 版本放在新分支上是否正确?

How to correctly handle this situation using GIT? Is it correct put a v2.0 release on a new branch?

我不是很喜欢 GIT,我想问一下你对这个 "work flow" 的看法(如果它是正确的或者我遗漏了什么)。

我正在开发一个软件,我已经把它放在我的远程 GIT 存储库(在 BitBucket 上)上,以获得与主分支上最后一次提交相对应的稳定版本。

然后我的客户要求我对这个软件进行相当大的更改,我实现了它以获得我的软件的新稳定版本。

现在我知道我可以把它作为一个新的提交放在 master 分支上(而且我知道在第二次我可以从中检索旧代码)但我宁愿将两个版本分开(因为它们基本上是同一应用程序的不同版本)。

所以我的疑惑是:

1) 创建一个新分支并将这个新版本放在这个分支上是个好主意吗?

2) 我在 bitbucket 上创建了一个新分支。我该怎么做才能把这个新版本放到这个分支上?我想是这样的:

git add *
git commit -m "Version 2.0 of my application"
git push origin my-new-branch-name

正确吗?

3) 如果我的软件的第二个版本将成为正式版本,我可以对 GIT 说这样的话:“现在新分支是主分支,旧主分支是副分支?

针对您的问题:

  1. 如果软件只针对一个客户端,则不需要在新的分支中进行更改,因为发布的代码通常在某个分支中进行管理。如果该软件用于许多客户端,则应将更改放在新分支上以满足 his/her 要求。
  2. 是的,如果新分支是在 bitbucket 上创建的,您可以切换到本地分支 (git checkout new-branch-name) 并使用您显示的命令 (git addgit commitgit push).另一种方式是你可以在本地创建新的分支并将其推送到 bitbucket。
  3. 分支名称只是为了您区分不同的功能用法。比如master分支作为主分支,develop分支作为项目的开发人员,feature分支作为开发新功能,hotfix分支作为修复bug等。不同的团队可以让分支名称不同,比如主分支通常可以命名为mainmasterproduction