在本地分支中提交子目录,但是在推送到远程分支时不包括它?

时间:2019-09-24 13:07:45

标签: git git-commit

我在一个私有但共享的GitHub项目中有一个目录,其中包含我想在本地提交的敏感数据,以便在备份本地硬盘驱动器时对其进行备份,但到远程分支。有没有办法使用Git设施/功能进行设置?

使用 .gitignore 文件不起作用,因为据我所知,无法对本地提交使用不同的行为或不同的 .gitignore 文件与什么被推送到远程分支。

如果这不可能,那么您在处理此问题时也遇到同样的问题吗?

注意,这不是我可以放入ENVIRONMENT变量中的数据。这是一组包含敏感数据的文件。

1 个答案:

答案 0 :(得分:1)

您可以创建另一个不会跟踪远程分支的本地分支,并在该本地分支上提交敏感文件。

git checkout -b localOnly
git add sensitiveFile
git commit
git checkout originalBranch
git push (this pushes originalBranch but not localOnly)

您还可以使用.gitignore文件来帮助确保您不会将敏感文件意外添加到将被推送的分支中。

请注意,当您切换回originalBranch时,git可能会从工作树中删除sensitiveFile。在这种情况下,您可以将其放回工作树:

git checkout localOnly sensitiveFile