使用git,如何忽略一个分支中的文件,但又将其提交到另一个分支中?
我有一个要部署到Heroku的项目。源代码树包含一堆mp3文件(该网站将用于与我密切相关的录音项目)。 我想将其源代码放在GitHub上,但是GitHub的免费帐户限制为300 MB。我不想在一堆mp3文件上使用50 MB的限制。显然,我可以将它们添加到.gitignore文件中以将其排除在我的存储库之外。 但是,我使用部署到Heroku git push heroku。mp3文件必须存在于我推送到Heroku的分支中,以便部署。 理想情况下,我希望.gitignore在本地master分支中找到mp3文件,以便在将其推送到GitHub时不包含mp3。然后,我将保留已提交而不是忽略mp3的本地生产分支。要进行部署,我需要将master合并到生产中,然后将生产分支推送到Heroku。 我无法使它正常工作。 这是我要做的事的一个例子... $ git init git-ignore-test $ cd git-ignore-test $ echo "*.ignored" >> .gitignore $ git add .gitignore && git commit -m "Ignore .ignored files" $ touch Foo.ignored 此时,Foo.ignored在我的master分支中被忽略,但是它仍然存在,因此我的项目可以使用它。 $ git checkout -b unignored $ cat /dev/null > .gitignore $ git …