将文件推送到 Github/Gitlab 而不将其添加到 .git?

Posted

技术标签:

【中文标题】将文件推送到 Github/Gitlab 而不将其添加到 .git?【英文标题】:Push a file to Github/Gitlab without adding it to .git? 【发布时间】:2021-12-21 00:19:52 【问题描述】:

我有一堆永远不会改变的大文件,它们最终占据了.git 中的大量空间。

是否可以在不将它们添加到 .git 的情况下将 git addgit commit 文件(这样您可以 git push 他们)?

【问题讨论】:

【参考方案1】:

正如 Acla Putra 所说,聪明的想法是创建一个.gitignore 文件。 我也建议你这样。

另一方面,git add 是用于选择您要为下一次提交跟踪的内容的工具。 如果您想跟踪所有您的文件,您可以使用git add .,或者另一方面,如果您想决定要跟踪的内容,您可以使用git add file1.cgit add file2.txt 等。 ..

看Git add description

【讨论】:

如果您想推送文件,.gitignore 是否仍然有效? 什么意思? .gitignore 必须添加到您的提交中。但是我认为您应该首先取消跟踪您不想要的文件,然后将其放入.gitignore,然后运行git add .。不应添加您现在要排除的文件。 我想推送 所有文件。我只是不希望他们被添加到.git 如果你推送所有文件,那么它们将被自动添加到.git中。如果它们不在.git 中,则意味着您没有跟踪它们,那么您无法推送它们。 Git 是一个用于跟踪文件的工具,如果你跟踪它们,你可以保存它们,相反你不会保存它们。【参考方案2】:

(在这个问题中,如果您不想将其推送到 Github,您可以在 .gitignore 中对您的文件进行 gitignore)

在你的项目中创建你的 .gitignore 文件

touch .gitignore

然后通过编写将你想要的文件添加到.gitignore,例如:

example.mp4

*.mp4

但是如果你想把它推送到 github 你可以使用 git LFS (Large File Storage)

下载并安装 git lfs:

git lfs install

现在您可以选择您希望 Git LFS 管理的文件类型:

git lfs track "*.psd"

如果你的文件是 mp4,那么你可以这样做:

git lfs track "*.mp4"

或针对特定文件:

git lfs track "example.mp4"

现在确保跟踪 .gitattributes:

git add .gitattributes

最后一步。像往常一样提交并推送到 Github,祝你好运。 更多详情 -> https://git-lfs.github.com/

希望这会有所帮助:)

【讨论】:

我按照git lfs 的说明进行操作,但是当您执行git add . 时,文件仍会添加到.git。当你使用.gitignore 时,文件不会被推送

以上是关于将文件推送到 Github/Gitlab 而不将其添加到 .git?的主要内容,如果未能解决你的问题,请参考以下文章

AudioKit - 记录默认输入(麦克风)而不将其发送到输出

Kafka-Connect Cassandra Sink 连接器不将数据推送到 Cassandra

为啥不将数据库查询中的移动结果推送到变量中?

out.print 不将数据推送到浏览器

将远程文件放入hadoop而不将其复制到本地磁盘

生成pdf而不将其保存到磁盘然后将其显示给浏览器