如何仅对文件进行一次编辑,而又不推送自上次发布以来的其余更改历史记录?

时间:2018-10-25 08:48:51

标签: git github staging

我有3个遥控器:

  • 开发
  • 分期
  • 直播

开发人员会镜像我拥有的​​本地副本,并且每次修复 bug 时都可以更新。我通常会git push dev master

THere是修补程序,但是,这些更改需要尽快推送到Live Remote。

但是,必须在每周一次发布完成后,每周一次 解决所有正常的错误,以更新Live Remote。

例如,如果我解决了修补程序,则在第10行上编辑了一个样式表,并且我希望该更改反映在LIve环境中,但又不想推送其余的更改自上周一以来样式表中包含的内容,我是否为此修补程序(?)创建辅助分支,或者该过程的工作流程是什么?

这是一个初学者的问题。这是打算与分支机构合作吗?

(我在this question中读到了与此相关的内容)

1 个答案:

答案 0 :(得分:0)

经过一些文档整理后,我发现了一个不错的教程here

如果我没有在不同于master的其他分支上进行上述更改,则无法在LIVE远程上推送文件的更改(不推送其发布后所做的编辑的历史记录)。 我应该已经在 DEV 远程上创建了一个 dev 分支。 master 分支应该是我们每周仅接触一次的分支(因此,除修补程序合并外,保持7天不变)。

在将功能提交给dev分支时,将出现一些修补程序,这些修补程序需要立即合并到release(master)分支。因此,对于单独的文件编辑,应该从release(又称为 master )分支中创建单独的hotfix-nameOfHotfix分支。修改文件后,只有那些更改可以合并到主文件中,而无需推送尚不适合当前版本的代码。

-再次, hotfix ## 分支应该仅从 master 分支产生。

-DEV遥控器的 master 分支必须(始终)镜像LIVE遥控器的 master 分支。

我花了一段时间才知道Git知道在文件中放置更改的位置,无论在同一个文件上有不只一个编码器在工作;如果两个编码人员都将在各自文件的同一行上工作,则冲突可能会出现。

因此,在我发布的问题中,我将在DEV远程设备上有3个分支:  -开发人员(生命周期无限)  -大师(无限生命)  -修补程序##(有限的生命周期)-每个修补程序完成后,它将合并到LIVE远程的master分支和DEV远程的master分支上。

选项1: LIVE遥控器只有 master 分支。 (其中来自DEV远程服务器的 dev 分支已合并。)

选项2: 也可以将DEV远程服务器上的 dev 分支合并到DEV的 master 分支上; 然后我可以将该主分支复制到LIVE远程)