我正在处理一个项目的两个分支,一个公共分支被推送到GitHub,一个部门分支被推送到Heroku。 deploy分支包含一个带有密钥的文件,public分支包含LICENSE,README.md和密钥生成器等文件。
当我对项目进行更改时,我想在部署分支上执行此操作,然后在我准备好推送时,将其合并到公共分支中,然后将不同的分支推送到各自的远程数据库。但是,在尝试将deploy合并到public时,它会添加Heroku特定的文件并删除特定于GitHub的文件。
我尝试了两种方法来防止这种情况:使存储库同步并进行完全合并,但使用不同的.gitignore文件,并使用.gitattributes文件在合并时忽略上述文件。两者似乎都失败了。
答案 0 :(得分:0)
进行合并--no-commit。编写您想要/删除您不想要的文件的文件的脚本。现在git commit。
git merge --no-commit origin/my-branch
git checkout --theirs License.txt
rm super-secret-key.txt
git commit
答案 1 :(得分:0)
也许您应该重新考虑您的工作流程。如果你真的需要在git存储库中保密,那么最好在public branch上工作,并将其合并到deploy分支。
我不明白“删除特定于GitHub的文件”。部分意味着什么导致删除这些文件?