如何解决git add有什么作用?
我用git init
初始化了一个文件夹。
其中的内容大小约为600MB。完成git add
之后,.git
的大小变为600MB,那么,它实际上存储了我文件的所有内容吗?我以为git add
只是认为要跟踪的文件,但是如果是这样,那么大小不应该那么大,对吗?
纠正我,如果我错了。
如果是,您能建议一些更简单的本地跟踪我的更改吗?
更新:即使使用git gc
,大小也没有太大变化
实际上,我的要求是,我要存储视频,文本文件,Pdf文件等...并且我会不断对其进行更改,因此,有时我想回去。
由于视频的大小很大,因此越来越肿。
我认为git
之外别无选择。谢谢你们
解决方法
.git
文件夹跟踪所有版本的跟踪文件。 git add
将标记更改(通过将更改复制到暂存区),然后git commit
将更改记录在存储库中。是的,它确实存储了文件的所有内容;不仅如此,而且内容的所有版本。否则,它就不会是版本跟踪器的一部分-如果不将内容记录在一个单独的位置,那么我可以想到的返回到文件的早期版本的唯一方法就是时间移动机器,而{{1} }尚未实现。 :)
也就是说,git
是为跟踪源文件而开发的,并且您拥有600MB的源文件的可能性很小。您应该避免添加数据文件,或者是代码或编译过程的产物的文件(以及由于不同的原因,每个开发人员可能有所不同的任何配置文件)。为了解决这个问题,您应该在存储库中要做的第一件事是制作一个.gitignore
文件,并用git
检查{{1 }}。
git
都将文件标记为已跟踪,并将其复制到暂存区域。在提交之前复制到暂存区可以使您逐步构建一个提交,这对于git show
和git add
尤其有用。
您可以使用git add -p
仅跟踪文件,但最终您需要添加并提交它。
好消息是Git会压缩这些文件,因此在提交并运行git add -i
后,假设它们是可压缩的,它们应该小得多。
如果将更改提交到大型文件(尤其是大型二进制文件),则存储库将变得非常大。而是使用Git Large File Storage将大文件的历史记录存储在云中。
, git add
命令将工作目录中的更改添加到登台区域。它告诉Git您想在下一次提交中包括对特定文件的更新。但是,git add
并不会以任何重大方式真正影响存储库-在运行git commit之前,更改实际上不会记录下来。
您可以使用.gitignore文件删除我们可以生成或下载的不需要的文件 例如:dll,node_modules。
此link向您展示如何向存储库中添加.gitignore
文件
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。