我正在开展一个达到里程碑的项目。我的git存储库是最新的,一切正常。我们的客户现在已经更新了他们的api,我们不确定它将如何影响我们的代码。
我想要做的是创建一个分支(已经完成)并将完整的存储库上传到分支。所以我将重复项目,一个在主服务器中,一个在新分支中。然后我将工作并致力于新的分支,让主人不受影响。因此,对于每个版本,我可以做同样的事情,所以如果有任何问题,我们可以回到上一个分支。
有人可以告诉我该怎么做。我正在使用Git,而我正在使用mac终端。
我已经在SO上查了相关问题但是我没有看到我需要的信息,或者我错过了它。
答案 0 :(得分:1)
您不会将存储库上传到分支。
您的代码存储在存储库中,存储库具有分支。没有重复,但是您可以获取(checkout)master或分支以将您的工作文件设置为您想要的版本:master为未更改的更改,为您最近的更改分支。
达到里程碑时总是要做的就是标记提交:
$ git tag v1.0
然后,您可以从那里开始分支以集成新API
$ git checkout -b client_api_update
在您的分支机构工作和提交。它不会影响master中的内容,您可以在想要获取里程碑版本(或签出标记)时的工作文件时将其签出。
当完成新API的集成时,是时候将您的分支合并到master了,以便释放对新API的支持:
$ git checkout master
$ git merge client_api_update --no-ff
--no-ff
是可选的,但我认为这会带来更优雅的历史。
你正处于一个新的里程碑,所以标记:
$ git tag v1.1
以下是您的历史记录:
/- v1.0 /- v1.1
A---B------------------G - master
\---C---D---E---F-/ - client_api_update
答案 1 :(得分:0)
让我们说你在主回购中创建的分支是<main_repo_new_branch>
。然后步骤将是:
cd <local_repo_dir>
git remote add mainrepo <main_repo_dir>
git push mainrepo <local_repo_branch>:<main_repo_new_branch>
cd <main_repo_dir>
git checkout <main_repo_new_branch>