【问题标题】:stop git from walking up阻止 git 向上走
【发布时间】:2022-08-14 07:18:30
【问题描述】:

我在我的主目录中跟踪我的点文件,所以我的主目录中有一个 .git 目录。 像这样的东西。

home
    └── user
        ├── .git
        └── workspace
            ├── project1
            │   ├── .git
            │   └── main.c
            ├── project2
            │   ├── .git
            │   └── main.c
            └── tmp

当我执行git status 时,在项目目录中它只显示该存储库的信息。 但是在 tmp 目录中,git 会一直向上直到到达主目录。

我想禁用这种行为并阻止 git 向上走,或者至少对其设置一个限制。

在终端中,我可以通过设置environment variable GIT_CEILING_DIRECTORIES 来实现这一点。

我如何在 vscode 中或更一般地执行此操作,如何告诉 git 不要向上走?

    标签: git visual-studio-code


    【解决方案1】:

    当您在文件夹内执行git init 时,git 已经递归地识别所有子目录。由于您初始化了主目录/home/user,因此这里的.git 文件夹将是所有子目录使用的文件夹,除非它们有自己的.git 文件夹。

    您可以将所有不想跟踪的子目录添加到主目录中的 .gitignore 文件中。但是,子目录中的git status 仍会显示git status output,因此这不是所需的解决方案。

    如果您只想跟踪您的 dotfiles,您可以将它们全部放在一个名为 my_dotfiles 的文件夹中,并将其用作您的 git 存储库。然后,您可以在主目录中的 my_dotfiles 中创建指向文件的符号链接。

    .bashrc 的示例,但您可以对所有点文件执行此操作:

    cd ~
    mkdir my_dotfiles
    mv .bashrc my_dotfiles
    cd my_dotfiles
    git init
    git add .
    git commit -m "Initial commit"
    cd ..
    ln -s $HOME/my_dotfiles/.bashrc .bashrc 
    

    确保从您的家中删除 .git 文件夹。

    【讨论】:

      猜你喜欢
      • 2014-03-01
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多