git - 可移植开发环境和 Git

标签 git github git-svn

我使用可移植应用程序和大量自定义批处理文件创建了一个可移植开发环境。我想让它的所有实例保持最新——Dropbox 是一个理想的选择,但我需要它在我的闪存驱动器和我的电脑上同步。我认为 git 可以工作,但是 repo 的大小将是一个问题。我需要知道这个想法的可行性以及如何在上传时删除提交以修剪额外的数据。我认为 repo 至少会使数据的总大小增加一倍。有什么想法吗?

最佳答案

如果您的文件主要是文本,Git 将大大减少您的数据大小的两倍。举个例子,我将我的 Vim 配置文件存储在 Git 存储库中,这样我就可以在任何地方轻松获取它们,并使它们保持最新。配置文件本身不到 3 MB,而 .git 目录在 683 次提交后仅超过 1 MB。它比 Subversion checkout 小,小到不用担心。

过去常常需要在存储库中运行 git gc 以从存储库中删除无法访问的数据。在进行大量 rebase 或其他历史编辑之后尤其如此。但是从大约 Git 1.5 开始,它会在您进行时跟踪无法访问的数据量,并在它变得太多时自动修剪它。如果您真的空间不足并且有空闲的时间和 CPU 周期,则可以使用配置选项来调整它。有关详细信息,请参阅 git help gc,但我真的认为您不会发现空间有问题。

关于git - 可移植开发环境和 Git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10960058/

相关文章:

git - 永久删除提交

django - 更新 Github 和服务器上的敏感代码?

svn - 我需要从 git-svn 中取消获取一些修订

GitHub:克隆成功,但是checkout失败

git - 使用带有 svn-git 的 TortoiseGit 克隆 SVN 存储库的特定分支

git - 自给定提交以来 git 中的作者列表

git - 如何在不初始化子模块的情况下对所有子模块执行 `git pull`

git - 在提交之前运行脚本并将更新包含在此提交中?

git - 检查详细文件列表以推送 git

GitHub API 获取用户/组织总数