0

如果该存储库忽略了我的工作目录,如何使 git 命令(例如git status)不在该存储库上运行?例如:

  1. git init在 ~ 中运行以创建一个 repo 来跟踪 dotfiles

  2. 我在〜中添加一个.gitignore文件,如下所示:

    *
    !.gitignore
    !.bashrc
    

    我承诺.gitignore并且.bashrc

  3. 我移动到 ~/src/test,它不是 git 存储库

如果我现在运行git status,我希望看到返回的消息是

致命:不是 git 存储库(或任何父目录):.git

相反,我会看到

# 在分支master上
没有什么可提交的(工作目录干净)

因为git status去了目录树并.git在我的主目录中找到了该文件,即使我忽略了该 repo 中的工作目录。

我看到的唯一解决方案是将GIT_DIR我的主目录中的 repo 设置为 .home.git 之类的东西,然后为该 repo 运行我的所有 git 命令

git --git-dir=~/.home.git --work-tree=~ <command>

我可以给它起别名,但我觉得可能有更好的方法来配置 git 来做到这一点。

4

1 回答 1

0

我建议您查看博客文章Using Git and Github to Manage Your Dotfiles。关键是为 git-project 创建单独的目录并链接到所需的点文件:

home/
|
|--dotfiles/      <-- git working copy
|  `--vimrc
|  `--bashrc
|--.vimrc->dotfiles/vimrc
|--.bashrc->dotfiles/bashrc
于 2013-11-11T05:07:18.947 回答