如何使用Git

时间:2018-02-12 12:02:11

标签: git symfony branch

我在一个Symfony项目上和朋友一起工作,我们有两个分支使用git。 origin / master和origin / dev。

主人像往常一样用于制作和开发开发。

我希望dev分支拥有比生产文件更多的文件

例如,我希望prod分支没有web / app_dev.php文件,而我希望dev分支有一些可以提交给dev分支的测试文件,但在合并时不予考虑使用master分支。但是,我希望在从dev到master合并时考虑dev和master版本上的文件。

目前,当我在dev分支上修改测试文件(例如TestController.php)时,我可以将它提交到dev分支但是我让我与master分支冲突,因为该文件不在master分支(因为它是一个测试文件,它不需要在prod中):

  

git merge dev --no-ff

CONFLICT (modify/delete): src/AppBundle/Controller/TestController.php deleted in HEAD and modified in dev. Version dev of src/AppBundle/Controller/TestController.php left in tree. Automatic merge failed; fix conflicts and then commit the result.

我知道我可以解决这些测试文件(通过git rm),但我需要将它们提交并推送到dev分支以与我的朋友一起工作。

有可能做我想要的吗?即:在开发版本中有更多文件在与主分支合并但仍然在dev分支上提交并推送时不考虑?

由于

2 个答案:

答案 0 :(得分:0)

Git不适合作为部署策略。

除了使用你很快就会忘记的丑陋黑客之外,没有办法实现你想要的东西,这会破坏你的工作流程。

这些hacks也将特定于您的存储库克隆,并且不会被其他人拉动。

使用真实的部署工具,该工具不会同步您不希望在生产环境中看到的文件。

答案 1 :(得分:0)

在推送代码之前尝试删除CONFLICTS(手动) 默认它总是主分支。如果要创建新分支,请尝试此命令

git checkout_b "new_branch_name"

在推送代码之前总是(将最新代码拉为可选代码),您必须在git merge master之后使用git add .将本地分支合并到主分支 最后做这些命令

git commit -am "comment"
git push origin "your branch name"