如果我的工作目录被该存储库忽略,如何使git命令(例如git status
)不在存储库上运行?例如:
我在〜中运行git init
来创建一个跟踪点文件的仓库
我在〜中添加了一个.gitignore
文件,如下所示:
*
!.gitignore
!.bashrc
我提交了.gitignore
和.bashrc
我转到〜/ src / test,这不是git存储库
如果我现在运行git status
,我希望看到的消息是
fatal: Not a git repository (or any of the parent directories): .git
相反,我会看到
# On branch master nothing to commit (working directory clean)
因为git status
上了目录树并在我的主目录中找到了.git
文件,即使我忽略了该回购中的工作目录。
我看到的唯一解决方案是将我的主目录中的repo的GIT_DIR
设置为.home.git,然后为该repo运行我的所有git命令
git --git-dir=~/.home.git --work-tree=~ <command>
我可以使用别名,但我觉得可能有更好的方法来配置git来执行此操作。
答案 0 :(得分:0)
我建议您查看博文Using Git and Github to Manage Your Dotfiles。重点是为git-project创建单独的目录,并链接到所需的dotfiles:
home/
|
|--dotfiles/ <-- git working copy
| `--vimrc
| `--bashrc
|--.vimrc->dotfiles/vimrc
|--.bashrc->dotfiles/bashrc