使git命令在.gitignore';d目录
如果存储库忽略了我的工作目录,如何使git命令(例如,使git命令在.gitignore';d目录,git,gitignore,Git,Gitignore,如果存储库忽略了我的工作目录,如何使git命令(例如,git status)不在存储库上运行?例如: 我在~中运行git init以创建一个repo来跟踪点文件 我在~中添加了一个.gitignore文件,如下所示: * !.gitignore !.bashrc 我提交.gitignore和.bashrc 我转到~/src/test,它不是git存储库 如果现在运行git status,我希望看到返回的消息是 fatal: Not a git repository (or any of the
git status
)不在存储库上运行?例如:
git init
以创建一个repo来跟踪点文件.gitignore
文件,如下所示:
*
!.gitignore
!.bashrc
我提交.gitignore
和.bashrc
git status
,我希望看到返回的消息是
fatal: Not a git repository (or any of the parent directories): .git
我可以用别名,但我觉得可能有更好的方法来配置git来实现这一点。我建议您看看这篇博文。要点是为git项目创建单独的目录,并链接到所需的点文件:
home/
|
|--dotfiles/ <-- git working copy
| `--vimrc
| `--bashrc
|--.vimrc->dotfiles/vimrc
|--.bashrc->dotfiles/bashrc
主页/
|
|--dotfiles/dotfiles/vimrc
|--.bashrc->dotfiles/bashrc
这是专门针对dotfiles示例的,还是一个一般性问题?这是一个一般性问题,但这个示例是我使用它最直接的原因。我知道在git中保存点文件的其他解决方案,但如果我能让它工作的话,这似乎是最简单的方法。我个人在~/.dotfiles/
中使用git存储库,它有一个引导脚本将它们复制到~/
,以避免这个问题;我想它是从那些书页或其中一页抓到的。不过,就一般情况而言,我并没有读太多,对不起。你有没有找到解决这个问题的办法?我也有类似的要求。我最终只是使用了一个别名,虽然我现在在一个Windows box上,但我几乎没有使用它。我知道那篇博文。这看起来非常不雅观,我更愿意在我这么做之前移动我的GIT_DIR。尽管如此,我觉得必须有一个比移动GIT_DIR更好的方法。
git --git-dir=~/.home.git --work-tree=~ <command>
home/
|
|--dotfiles/ <-- git working copy
| `--vimrc
| `--bashrc
|--.vimrc->dotfiles/vimrc
|--.bashrc->dotfiles/bashrc