如何find当我可能在一个子目录中的本地git存储库的path
我正在寻找像git list-path
打印关联存储库( .git
目录)path的东西。
一些背景:我已经在我的一些项目/文件夹上设置了git版本控制。 其中一些是嵌套的,所以一个包含echo自己的仓库的目录是另一个跟另一个仓库跟踪的目录的子文件夹。
例如在我的主目录( ~
)我使用git来跟踪我的点文件,但在文件夹~/photo/meta-mix/
我有另一个项目跟踪一个单独的存储库。 现在,我已经在目录~/photo/meta-match/
build立了另一个项目,但是我不知道它是否有自己的仓库。 所以我想知道这个目录是否受版本控制,以及它的版本库在哪里。
我怎样才能做到这一点的git命令? git status
可以给我
nothing to commit
在这两种情况下,当~/photo/meta-match/
有自己的仓库或者它只是指〜的仓库。
git rev-parse --show-toplevel
如果在git仓库中执行的话就足够了。
从git rev-parse
手册页:
--show-toplevel
显示顶层目录的绝对path。
对于旧版本(在1.7.x之前),其他选项列在“ 有一种方法可以在一个命令中获得git根目录? ”:
git rev-parse --git-dir
这将给出.git
目录的path。
OP提到:
git rev-parse --show-prefix
它返回git回购根目录下的本地path。 (如果你在git回购根目录下是空的)
注意:为了简单地检查一下是否在git repo中,我发现下面的命令很有performance力:
git rev-parse --is-inside-work-tree
是的,如果你需要检查你是否在.git
git-dir文件夹中:
git rev-parse --is-inside-git-dir
- PHP有一个相当于Python的virtualenv或ruby的沙箱?
- Laravel环境驱动的数据库设置?
- 为我的Rails应用程序创build自定义configuration选项的最佳方法?
- 错误:registry项'Software \ JavaSoft \ Java Runtime Environment'\ CurrentVersion'?
- 我如何确定我的rails是否在开发环境而不是testing环境?
- 如何使用seed.rbselect性地填充开发和/或生产数据库?
- R中的parent.frame()和parent.env()有什么不同? 他们如何在参考呼叫方面有所不同?
- 如何从Linux shell运行一个与当前不同的工作目录的程序?
- Powershell:仅为单个命令设置环境variables