我第一次使用git而且我正在尝试提交。我想忽略所有.project和.settings文件,所以我转到我的.gitignore
文件并添加.project
,.settings
并保存。当我这样做时,.settings
文件不再出现,但是,当我git -status
时,我仍然会看到我的.project文件。另外,为什么.xml
和java
文件位于.jar
文件的不同部分:
答案 0 :(得分:1)
您的git status
输出显示两种类型的文件:
这些是Git正在跟踪的文件,这些文件自上次提交后已被修改。但是,这些变化还没有上演。除非您使用git add
暂存更改,否则它们不会被提交。以下是将更改分段到web.xml
文件的方法:
git add path/to/web.xml
假设你刚刚开始工作,那么最有可能解释为什么.project
出现被Git跟踪的原因是你以某种方式添加了它。要解决此问题,您可以尝试使用:
git rm --cached .project
这将删除Git跟踪的.project
文件。它也会将它从远程存储库中删除,但由于你刚刚开始工作而尚未推进,这是一个没有实际意义的点。
这些是Git完全忽略的文件。从Git的角度来看,这些文件并不存在。我可以看到你有许多JAR文件列为未跟踪,这可能是一件好事,因为一般来说,将二进制文件,特别是依赖项添加到Git存储库是个坏主意。如果您看到一个列为未跟踪的源文件,您还可以运行git add
将该文件添加到Git。
将二进制文件添加到Git存储库通常被认为是不好的做法的原因是Git不能很好地处理二进制文件的差异。假设您添加了1MB的JAR文件。每次它改变,如果你做一些开源的东西,这可能是相当频繁的,必须为该二进制文件存储差异。但是,Git经常将diff解释为删除旧文件并将其替换为新文件的整个内容。换句话说,Git基本上为每个更改版本化了整个二进制文件。随着时间的推移,这可能会导致您的存储库变得庞大和臃肿,并且很难从您的历史记录中删除这些二进制文件。因此,除非绝对必要,否则请避免在您的Git存储库中存储二进制文件。