将文件推送到 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 add
和 git commit
文件(这样您可以 git push
他们)?
【问题讨论】:
【参考方案1】:正如 Acla Putra 所说,聪明的想法是创建一个.gitignore
文件。
我也建议你这样。
另一方面,git add
是用于选择您要为下一次提交跟踪的内容的工具。
如果您想跟踪所有您的文件,您可以使用git add .
,或者另一方面,如果您想决定要跟踪的内容,您可以使用git add file1.c
、git 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 - 记录默认输入(麦克风)而不将其发送到输出