如何为我的所有项目仅在本地保留最新的 git 提交?

ms-soil

我想在我的机器上释放一些空间,而我的 git 历史记录变得越来越大。我有大约 20 个项目,我将完整的历史推送到 GitHub,所以我只在我的机器上保留最新的提交就足够了。

我的两个问题是:

  1. 如何从项目中删除除最新提交之外的所有提交,但仅在本地删除?我想在 GitHub 上保留所有历史记录,并在未来推送新的提交。

  2. Linux 中的命令行脚本如何遍历我的项目文件夹并重复仅保留每个项目的最新提交的操作。这是我的项目文件夹结构的样子:

[email protected] MINGW64 /p/r/projects
$ ls
be-a-mapper/
biogeochem-processes/
climathur/
coding/
coding-examples/

非常感谢您的帮助!

马利克

您正在寻找的是 git clone --depth 1

- 深度

Create a shallow clone with a history truncated to the specified number of commits. Implies --single-branch unless --no-single-branch

用于获取所有分支尖端附近的历史记录。如果你想浅层克隆子模块,也可以通过 --shallow-submodules 。

所以就这样做git clone --depth 1 https://github.com/mypersonal/repo,你的 .git 文件夹应该更小。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章