Git 本地提交分支中的子目录,但在推送到远程分支时不包括它?
我在一个私有但共享的GitHub项目中有一个目录,其中包含我希望在本地提交的敏感数据,以便在我备份本地硬盘驱动器时对其进行备份,但不会推送到远程分支。有没有一种方法可以使用Git设施/功能来设置它 使用.gitignore文件不起作用,因为据我所知,对于本地提交和推送到远程分支的内容,没有办法有不同的行为或不同的.gitignore文件 如果这是不可能的,您如何处理相同的问题Git 本地提交分支中的子目录,但在推送到远程分支时不包括它?,git,git-commit,Git,Git Commit,我在一个私有但共享的GitHub项目中有一个目录,其中包含我希望在本地提交的敏感数据,以便在我备份本地硬盘驱动器时对其进行备份,但不会推送到远程分支。有没有一种方法可以使用Git设施/功能来设置它 使用.gitignore文件不起作用,因为据我所知,对于本地提交和推送到远程分支的内容,没有办法有不同的行为或不同的.gitignore文件 如果这是不可能的,您如何处理相同的问题 注意,这不是我可以放在环境变量中的数据。这是一组包含敏感数据的文件。您可以创建另一个不跟踪远程分支的本地分支,并在该本地
注意,这不是我可以放在环境变量中的数据。这是一组包含敏感数据的文件。您可以创建另一个不跟踪远程分支的本地分支,并在该本地分支上提交敏感文件
git checkout -b localOnly
git add sensitiveFile
git commit
git checkout originalBranch
git push (this pushes originalBranch but not localOnly)
您还可以使用.gitignore文件来帮助确保不会意外地将敏感文件添加到将被推送的分支
请注意,当您切换回原始分支时,git可能会从工作树中删除敏感文件。在这种情况下,您可以将其返回到工作树中:
git checkout localOnly sensitiveFile
通常,您应该将文件视为完全被Git跟踪或完全未跟踪。如果提交这些文件,则希望它们是远程存储库的一部分,否则根本不提交它们。