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

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

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

【问题讨论】:

    标签: git github gitlab


    【解决方案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 时,文件不会被推送
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 2021-10-21
    • 2018-11-15
    • 1970-01-01
    • 2021-05-18
    相关资源
    最近更新 更多