Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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 如何不将特定文件夹推送到远程repo?_Git - Fatal编程技术网

Git 如何不将特定文件夹推送到远程repo?

Git 如何不将特定文件夹推送到远程repo?,git,Git,我有一个使用Ruby on Rails的项目,本地文件(本例中的图像)存储在路径/public/system中。我在.gitignore中包含了这一行,但每次我将更改推送到远程存储库时,图像都会上传到github 为什么? 我只是希望这个文件夹及其内容不要上传到github,但我确实希望将文件保存在我的本地repo中 这是我的.gitignore文件,它只是默认内容,我添加了最后一行: # See https://help.github.com/articles/ignoring-files f

我有一个使用Ruby on Rails的项目,本地文件(本例中的图像)存储在路径
/public/system
中。我在
.gitignore
中包含了这一行,但每次我将更改推送到远程存储库时,图像都会上传到github

为什么?

我只是希望这个文件夹及其内容不要上传到github,但我确实希望将文件保存在我的本地repo中

这是我的
.gitignore
文件,它只是默认内容,我添加了最后一行:

# See https://help.github.com/articles/ignoring-files for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
#   git config --global core.excludesfile '~/.gitignore_global'

# Ignore bundler config.
/.bundle

# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-journal

# Ignore all logfiles and tempfiles.
/log/*
!/log/.keep
/tmp

/public/system

一旦提交了其中一个文件(记住git不关心文件夹),将它们添加到
。gitignore
文件不具有追溯效力。您必须使用此命令删除它们

git-rm——缓存的公共/系统


它只会将它们从git索引中删除,而不会在您的本地修改中删除,因此文件夹仍将存在于您的文件系统中。

一旦提交了其中一个文件(记住git不关心文件夹),将它们添加到
。gitignore
文件不会追溯。您必须使用此命令删除它们

git-rm——缓存的公共/系统


它只会将它们从git索引中删除,而不会在您的本地修改中删除,因此该文件夹仍将存在于您的文件系统中。

我看到了答案的可能副本,但我并没有问这个问题,我正在更新我的帖子,以澄清您的问题。上面的答案有什么不适用?这与你刚才选择的答案完全相同。可能是我看到的答案的重复,但我不是在问这个问题,我正在更新我的帖子,以澄清你问的正是这个问题。上面的答案有什么不适用?这和你刚才选择的答案是一样的命令,很有效!但是,如果我再次运行
git add-A.
该怎么办?这会不会再次开始跟踪文件夹?我想是吧?我能做些什么来避免这种情况?一旦您提交了@aduch和您的
.gitignore
文件概述的“删除”,它们应该被永久忽略。您可以使用git status来测试这一点-它们不应该显示为未跟踪的文件。这很有效!但是,如果我再次运行
git add-A.
该怎么办?这会不会再次开始跟踪文件夹?我想是吧?我能做些什么来避免这种情况?一旦您提交了@aduch和您的
.gitignore
文件概述的“删除”,它们应该被永久忽略。您可以使用git status来测试这一点-它们不应该显示为未跟踪的文件。