1

我正在处理的项目有两个分支,一个公共分支被推送到 GitHub,一个部署分支被推送到 Heroku。deploy 分支包含一个包含密钥的文件,public 分支包含 LICENSE、README.md 和密钥生成器等文件。

当我对项目进行更改时,我想在部署分支上这样做,然后当我准备好推送时,将其合并到公共分支中,然后将不同的分支推送到各自的远程。但是,当尝试将 deploy 合并到 public 时,它会添加 Heroku 特定文件并删除 GitHub 特定文件。

我尝试了两种方法来防止这种情况:使存储库同步并进行完全合并,但具有不同的 .gitignore 文件,以及在合并时使用 .gitattributes 文件忽略上述文件。两者似乎都失败了。

4

2 回答 2

0

Do a merge --no-commit. Script the checkout of the files you want/delete files you don't want. Now git commit.

git merge --no-commit origin/my-branch
git checkout --theirs License.txt
rm super-secret-key.txt
git commit
于 2012-05-12T04:23:36.330 回答
0

也许您应该重新考虑您的工作流程。如果您确实需要在 git 存储库中保密,那么在公共分支上工作可能会更好,并将其合并到部署分支。

我不明白“删除 GitHub 特定文件”是什么意思。部分意味着,是什么导致这些文件的删除?

于 2012-05-12T06:25:08.130 回答