推送到git时忽略文件夹
我正在尝试将更改推送到我的: 我在推送到git时忽略文件夹,git,github,Git,Github,我正在尝试将更改推送到我的: 我在my_new_file.py中添加了新文件夹Dataa long并更改了代码: -My Folder --Chapter 1 --Chapter 2 --Chapter 10 --my_new_file.py --Data 我试过这个: git rm -r --cached Data git commit -m "Removed folder from repository" git push origin mast
my_new_file.py
中添加了新文件夹Data
a long并更改了代码:
-My Folder
--Chapter 1
--Chapter 2
--Chapter 10
--my_new_file.py
--Data
我试过这个:
git rm -r --cached Data
git commit -m "Removed folder from repository"
git push origin master
但我明白了:
致命:pathspec“数据”与任何文件都不匹配
据我所知,这是正确的做法,我做错了什么?我希望文件夹
Data
保留在我的本地文件夹中,但不要推送到我的存储库。为了让git意识到Data/
中存在某些内容,您首先需要暂存文件夹,并创建提交。如果您没有这样做(看起来您没有这样做),则不会跟踪
Data/
中的任何文件,您可以直接推送,而无需运行git rm--cached
您可以采取一个额外的步骤来确保
数据/
不会意外地进入存储库:您可以编辑.gitignore
文件并将/Data
添加到其中
这样:
git status
将完全停止列出Data
,您将无法在将来的提交中添加这些文件(至少在没有显式操作的情况下)。为了让git意识到Data/
中存在某些内容,您首先需要暂存文件夹,并创建提交。如果您没有这样做(看起来您没有这样做),则不会跟踪
Data/
中的任何文件,您可以直接推送,而无需运行git rm--cached
您可以采取一个额外的步骤来确保
数据/
不会意外地进入存储库:您可以编辑.gitignore
文件并将/Data
添加到其中
这样:
git status
将完全停止列出Data
,您将无法在将来的提交中添加这些文件(至少在没有明确操作的情况下)。git的工作方式是分两个阶段进行提交:
git add
),那么它们将不会进入下一次提交,因此不会被推送,因此您可以这样做。Git可能知道(当您说Git status
时,它会告诉您)数据存在,但如果它没有说(当您说Git status
时),数据中的文件被暂存以提交,那么它们就不存在了
了解索引中内容的另一种方法是说
gitls文件--cache
。如果您没有看到列出的任何数据文件,那么在形成下一次提交时,它将不包含任何数据文件。Git的工作方式是分两个阶段形成提交:
git add
),那么它们将不会进入下一次提交,因此不会被推送,因此您可以这样做。Git可能知道(当您说Git status
时,它会告诉您)数据存在,但如果它没有说(当您说Git status
时),数据中的文件被暂存以提交,那么它们就不存在了
了解索引中内容的另一种方法是说
gitls文件--cache
。如果您没有看到列出的任何数据文件,那么当您形成下一次提交时,它将不包含任何数据文件。git中是否跟踪了数据中的任何文件?如果没有,那么git不知道/不关心这个文件夹。本质上,git只关心文件。文件夹只在包含跟踪文件的情况下才对it重要。因此,您可能无法从git中删除该文件夹,因为git未跟踪该文件夹。是的,我不想在我的存储库中推送200MB的数据。请注意,如果该文件夹已提交一次,您仍将推送该数据,因为它包含在以前的提交中。git中是否跟踪了data
中的任何文件?如果没有,那么git不知道/不关心这个文件夹。本质上,git只关心文件。文件夹只在包含跟踪文件的情况下才对it重要。因此,您可能无法从git中删除该文件夹,因为git没有跟踪该文件夹。是的,我不想在我的存储库中推送200MB的数据。请注意,如果该文件夹已提交一次,您仍将推送该数据,因为它包含在以前的提交中。我已创建了gitignore
,谢谢。将.gitignore
文件推送到我的存储库是一种好的做法,还是我可以将.gitignore
放在gitignore
中?.gitignore
旨在提交并与您的存储库共享,所以是的,将其推送到您的存储库中。这样,任何克隆您的repo的人也将忽略其数据/
目录(如果他们有)。也就是说,还有其他方法可以忽略git repo中的文件:例如,有关更多详细信息,请参阅我创建的gitignore
,谢谢。将.gitignore
文件推送到我的存储库是一种好的做法,还是我可以将.gitignore
放在gitignore
中?.gitignore
旨在提交并与您的存储库共享,所以是的,将其推送到您的存储库中。这样,克隆您的repo的任何人都将忽略其数据/
目录(如果有)。也就是说,还有其他方法可以忽略git repo中的文件
git rm -r --cached Data
git commit -m "Removed folder from repository"
git push origin master