我正在使用Pygit2在我正在处理的回购中运行某些操作。在
如果我的代码文件不在repo的根目录下,如何从repo中的任何位置获取repo的路径?在
如果从根目录调用函数,我可以执行以下操作,但是如果从存储库代码中的任何位置运行它,该怎么做呢?在
$ cd /home/test/Desktop/code/Project
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
$ ipython3
In [1]: import os, pygit2
In [2]: repo = pygit2.Repository(os.getcwd())
一种方法是简单地遍历父目录,直到找到
.git
目录:当然,这里有一些注意事项。你不一定会找到
.git
目录,如果有人设置了GIT_DIR
环境 变量。如果您有一个git工作树,那么.git
是一个文件,而不是一个 目录,libgit2
似乎无法处理此问题(从版本开始 0.24)。在相关问题 更多 >
编程相关推荐