我正在尝试使用python rollin.py
开发具有以下要求的Gatekeeper脚本:
假定用户将从其本地git克隆区域内的任何位置启动rollin.py
脚本,以将其提交推送到主存储库
现在,rollin.py
脚本将会
现在在rolloin.py
脚本中,我将如何检查存储库名称和用户的git clone路径? (因为用户可以在其本地任何地方启动rolloin.py
脚本)
是否有可用的现有功能或方法?否则,我正在考虑从cwd
实现反向递归搜索,以找到.git,然后从其配置文件进行url。
答案 0 :(得分:2)
您可以使用已经编写的GitPython模块来实现。 Read the docs。
$ pip install GitPython
Python代码段可打印基本git路径和origin
远程URL。
import git
# Raises InvalidGitRepositoryError when not in a repo
repo = git.Repo(".", search_parent_directories=True)
print "Location "+ repo.working_tree_dir
print "Remote: " + repo.remote("origin").url
要创建一个新的git repo
import git
newRepo = git.Repo.init("my-git-repo", mkdir=True)
答案 1 :(得分:0)
您可以使用os.system
运行git rev-parse --git-dir
,这会将路径返回到运行命令的存储库的.git
文件夹。有关更多信息,请参见How to find the path of the local git repository when I am possibly in a subdirectory