我有一个master分支和一个release分支。当我准备使用新的带编号的发行版本时,我想使用master分支进行更新,但在每个分支中维护composer.json和auth.php的不同版本。
我的composer.json在dev分支中需要一些dev-master
版本,但在release分支中只需要版本发布。与本地开发版本相比,auth.php包含服务器端/发行版的不同数据库凭据。
除了基本的提交之外,我还是git的新手。
这是我第一个发行版所做的
git clone ...
cd ...
git checkout -b release
nano composer.json //and change dev-master requires to 0.1.* requires
nano auth.php //and change db credentials
git add -A
git commit -m "composer and auth changes for release"
git push origin release
git tag -a 0.1.0
git push origin 0.1.0
然后,我就可以要求0.1.*
作曲家了!
我要为下一个版本发布的内容是:
git clone ...
cd ...
git checkout --track origin/release //to switch to the release branch
git merge ... //get changes from master, but DO NOT overwrite the release-version's composer.json or auth.php
git push origin release
git tag -a 0.1.1
git push origin 0.1.1
然后,我将进入服务器并composer update
进入我的网站的最新版本(位于私有存储库中)。
如何在git代码的第二个块中执行git merge行?
答案 0 :(得分:1)
首先,我认为这个问题需要纠正:在合并之后,您实际上可能确实想更改composer.json
以使用新的版本号,例如0.1.1
。
现在,要回答您的问题,我希望git merge master
将在您创建0.1.1时做您想要的事情。由于composer.json
和auth.php
在最后一个合并基础之后在release
分支上进行了更改,因此git merge
应该认识到,当它合并来自{{ 1}}。如果您还更改了master上的那些文件,则可能会发生冲突,这将使您有机会在完成合并之前对其进行修复。
如果事情没有按照我的描述进行,您能指出到底发生了什么吗?
无论master
是否做正确的事,下一步是编辑git merge
来表示版本composer.json
并将其提交到0.1.1
分支上。如果需要,请编辑并提交release
,但是不需要。然后继续其余的工作流程(推,标记,推)。