把我个人的git repo分开来的好主意?


1

我在git版本控制下的主目录中有很多文件。

我的emacs设置,zsh源文件,博士论文等。

它位于主目录根目录下的一个巨大的git仓库中。 (当然文件本身在许多不同的目录中。)

我正在考虑使用 filter-branch 把报告分开,所以我的论文提交不受我的污染 .emacs 提交等

一般来说,这是一个好主意吗?我不想失去任何历史。

我需要复制我的吗? .gitconfig 将文件存入每个获得回购的目录?

而且,如果我不小心 git add foo.txt 在之前的目录中 git init,它会在第一个repo git中找到,因为它在我的目录树中徘徊吗?或者可以预防这种情况吗?

Answers:


0

如果要将存储库拆分为多个新存储库,则无法使用 filter-branch,因为它基本上是一个强大的 rebase 在单个存储库中工作。

您不能拥有多个存储库,并且仍然保留历史记录,因为历史记录是由提交触及原始存储库中的所有版本化文件组成的。所以我担心你别无选择,只能从头开始创建多个存储库。您当然可以将原始存档存档,以备您需要咨询时使用。

我肯定会避免在工作目录中的任何地方创建一个Git存储库,即做 git init 在Git中已经版本化的目录中。虽然这是可能的,但需要极其谨慎 --git-dir 和/或 --work-tree 参数。相反,移动 $HOME/.git 在创建多个存储库之前,目录到其他不会被版本化的目录 在不同的目录中

.gitconfig 文件是您的每个用户 Git配置文件 。默认情况下,它存在于您的 $HOME。自你的主目录 你的工作目录,你可能认为在每个工作目录中都需要一个这样的文件,但你没有。每个存储库配置文件是 .git/config

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.