gpt4 book ai didi

linux - 如何只推送当前索引中的文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:15 31 4
gpt4 key购买 nike

我有许多源代码在 git 版本控制下的大型二进制文件。

我想只将源文件推送到github进行repo初始化

所以我使用 git rm -r --cached 从索引中删除大型二进制文件。

检查 git ls-tree -r --names-only mybranch 后,我确认索引中只有文本源文件。

当我随后推送到 github 时,git 检查了 3000 个要传输的文件,并开始将大约 1GB 内容推送到远程 github。但这些源文件加起来只有 53KB。

从日志中我发现历史提交中的二进制文件被推送到远程

有没有只推送我当前索引的选项?喜欢:

git push --depth 1

提前感谢您的任何建议。

最佳答案

这里有几个选项。

一个简单的方法,如果你愿意重新初始化你的 git 仓库和“重新开始”,就是删除你的 .git 文件夹并重新初始化它:

  • rm -rf .git
  • git init
  • git add ...
  • git commit -m"..."

只添加你想要的文件(而不是二进制文件)——实际上将二进制文件添加到 .gitignore 文件中,例如如果它们都被称为 x.out、y.out、z.out,那么您可以将以下内容添加到您的 .gitignore 中:

  • *.out

或者如果它们都在某个输出文件夹中,您可以将以下内容添加到您的 .gitignore 中:

  • outputfolder/

如果您想重新添加您的 Remote ,您可以执行以下操作:

git remote add origin <remote-url>

更新

如果你需要覆盖你的 Remote ,那么你可以使用:

git push -f origin master

关于linux - 如何只推送当前索引中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49833161/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com