微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

git add有什么作用?

如何解决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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?