当前位置:  开发笔记 > 编程语言 > 正文

我是否通过将我的主目录设为回购,然后在其中包含其他回购来滥用git?

如何解决《我是否通过将我的主目录设为回购,然后在其中包含其他回购来滥用git?》经验,为你挑选了2个好方法。

多年来,我将我的主目录设置为git repo:

~ $ ls -a
.git/  .vim/  code/  .bash_history  .bashrc  .gitconfig  .gitignore  .vimrc

我小心不要提交包含敏感信息的文件(例如我的私人ssh密钥).事实上,我忽略了除了几个文件之外的所有内容:

~ $ cat .gitignore
# ignore everything
*

# except these
!.bashrc
!.gitignore
!.vimrc

通常,我有几个项目code/与他们自己的git回购:

~ $ ls -a code/
ctest/  cpptest/  dwm/

~ $ ls -a code/ctest/
.git/  pointers  pointers.c  strings  strings.c

我从未想过,直到一位同事对此表示担忧,这才是奇怪的.我通过这种方式设置我的主目录以某种方式滥用git?尝试使用我的点文件的程序是否会导致问题?



1> Edward Thoms..:

把你的dotfiles放在git中绝对不是疯狂的.我这样做,以便我可以轻松地在多台机器之间同步我的配置,我并不孤单.

也就是说,在你的主目录中有一个git存储库然后在它下面有其他的存储库不好的形式.

有些人通过将他们的dotfiles repo签出到子目录中$HOME然后将这些文件符号化为home来解决这个问题.(有一些脚本可以帮助管理这个:https://dotfiles.github.io.

就个人而言,我不喜欢符号链接,而是在一个非.git(例如:)的目录中创建我的dotfiles repo .dotfiles.git.您只需将.git文件夹重命名为.dotfiles.git.然后你可以:

git checkout --git-dir=.dotfiles.git checkout .profile



2> Mad Physicis..:

我不认为你的想法是从根本上滥用Git的概念.Git实际上是一个版本控制文件系统.从Git文档:

首先,如果还不清楚,Git基本上是一个内容可寻址的文件系统,其上面有一个VCS用户界面.

实际上,这已经通过类似的项目正式制作gitfs,允许您安装git repo而不是克隆它.

我不确定你对dotfiles有什么问题.Git处理它们就像任何其他文件类型一样.同事也是如此.除非有具体的东西,否则它们可能没有根据.所有git真正做的是将.git文件夹添加到您的主目录.除非您正在运行git命令,否则此文件夹不会对您的其他文件执行任何操作.Git通常不会破坏事物,除非你非常具体地告诉它,所以这也不应该成为一个主要问题.

总而言之,你的想法并不疯狂.它正在利用Git设计的意图,不应该导致任何问题本身.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有