Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 本地提交分支中的子目录,但在推送到远程分支时不包括它?_Git_Git Commit - Fatal编程技术网

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

Git 本地提交分支中的子目录,但在推送到远程分支时不包括它?,git,git-commit,Git,Git Commit,我在一个私有但共享的GitHub项目中有一个目录,其中包含我希望在本地提交的敏感数据,以便在我备份本地硬盘驱动器时对其进行备份,但不会推送到远程分支。有没有一种方法可以使用Git设施/功能来设置它 使用.gitignore文件不起作用,因为据我所知,对于本地提交和推送到远程分支的内容,没有办法有不同的行为或不同的.gitignore文件 如果这是不可能的,您如何处理相同的问题 注意,这不是我可以放在环境变量中的数据。这是一组包含敏感数据的文件。您可以创建另一个不跟踪远程分支的本地分支,并在该本地

我在一个私有但共享的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跟踪或完全未跟踪。如果提交这些文件,则希望它们是远程存储库的一部分,否则根本不提交它们。