使用更好的工具!
避免诸如$ find . -exec git checkout '{}' \;
然后递归/手动修复权限之类的黑客行为。有一个名为 Gitslave 的工具可以更轻松地管理不断扩大的投资组合。有价值的文章在这里。我还建议您在这里阅读此线程,再次出现 SethRobertson 的文章 - 非常好阅读。
为什么需要 Gitslave?
Happy.git
假设您对 repo的结构
进行了更改,例如"Works.git > Project.git > Pictures.git > Happy.git"
. 然后有人试图从你的裸 -git repo 中提取,例如Project.git
. 因为你是一个 git,你只在Happy.git
. 现在你的朋友会得到一些令人讨厌的错误。懒惰的 git 会使用
gitslave
-tool。
$ mkdir t1; cd t1; mkdir t2; cd t2; mkdir t3; git init; echo "t3" >t3; git add .; git commit -m "t3"; cd ..; git init; echo "t2" >t2; git add .; git commit -m "t2"; git init; echo "t1" >t1; git add .; git commit -m "t1"; cd ..; cd t1/t2/t3; echo "only here">only; git add .; git commit -m "only"; cd ../..; git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# t2/
$ Look you need to do repetitive work because you did not use Gitslave!
安装 Gitslave 的演练
不幸的是,Gitslave 还没有在 Apt-get 中,所以
在这里下载。
它看起来有点像 Maven,更多
在这里。你用它来管理你的项目。首先,您指定超级-repo,然后附加从-repos。
$ git clone http://someGitRepoHere.com/xyz.git super
$ cd super; gits prepare
$ gits attach http://someBareRepo.git yourDirHere
更多关于 153 等行的
信息。
当 Gitslave 进入 apt-get 等包管理软件时,我将继续这个答案,因此它对人们更有用。