0

我当前部署代码的工作流程是在我相信代码处于稳定状态时从 master 分支一个“发布”分支。在我的生产方面,我做了一个简单的操作,然后通过当时的版本号或任何版本git fetch origin检查我的代码。git checkout origin/releases/v1.0在这一点上,我的头是分离的。所以为了避免这种情况,我只是做类似的事情git checkout -b releases/v1.0 origin/releases/v1.0。让我git status看起来好多了。迄今为止,这从来都不是问题(当然我在这个 git repo 中没有修改)。

我本质上是在用我的版本创建我称之为叶分支(正确的术语?。idk。)。我刚刚发现这git checkout -t <branch>实际上会使用我正在寻找的名称进行本地分支的结帐和创建。但是,它正在设置我不需要的上游配置。

所以基于我的部署过程:

  1. 如果我只是从远程通过结帐,我是否有一个分离的头真的很重要git checkout origin/releases/v1.0吗?
  2. 由于我的流程不适合从我的生产服务器推送任何代码,因此git checkout -b releases/v1.0 origin/releases/v1.0通过 跟踪它是否有意义或实际跟踪git checkout -t origin/releases/v1.0
4

2 回答 2

2

如果你愿意改变你的工作流程,你可以使用 git 标签来完成这种部署。通过以下方式创建标签:

git tag -a <tag_name>

然后签出特定标签:

git checkout tags/<tag_name>

有关 git 标记的更多信息:http: //git-scm.com/book/en/Git-Basics-Tagging

于 2013-11-08T18:42:55.973 回答
1

(1) 视情况而定。您是否曾经对发布分支进行过更改?如果是这样,您是否想在进行提取和结帐时更新您的产品?如果第一个答案是肯定的,第二个答案是否定的,那么您需要创建一个新分支。否则,一个独立的头是好的。

 git fetch
 git checkout origin/releases/v1.0

我不确定你为什么要跑步git status;如果您不在生产中进行更改,这似乎不太有用。

(2) 如果您打算对该分支进行新的更改,我相信您需要上游配置。所以这个答案将取决于(1)。

于 2013-11-08T18:33:00.990 回答