与--git-DIR的git =在“不是一个git仓库”的结果(git with --git-dir

2019-08-01 10:36发布

我在iOS应用程序,应该让Git的修订哈希,并把它的版本号的一个有一个剧本。 在这个脚本我运行git --git-DIR = “$ PROJECT_DIR” 秀-s --pretty =格式:针对%小时。 不过,我得到了目录不是一个Git仓库的消息。 如果我呼应PROJECT_DIR var和进入终端以下工作:

cd projectDirPath
git show -s --pretty=format:%h

什么不工作是:

git --git-dir=projectDirPath show -s --pretty=format:%h

我缺少的东西吗? 该文档的状态,我可以指定路径与--git-DIR明明指定路径git仓库是一个Git仓库,因为所有的Git命令,没有任何问题,如果我的第一张CD到这条道路的工作。 但是,如果我在这条道路我不是,specifing --git-DIR不起作用。

最好的问候,迈克尔·

Answer 1:

当使用--git-dir ,你需要在指向.git版本库的文件夹中。 尝试:

git --git-dir=projectDirPath/.git show -s --pretty=format:%h

我使用有一个问题,这个记住自己。 为了帮助我记住怎么做,我试着记住该选项是要求正是它想:该路径.git目录(GIT-DIR)。



Answer 2:

除此之外的--git-dir ,还设置--work-tree可能会有帮助。 对于脚本,这是很好的使用相关的环境(更容易),例如

#!/bin/bash -ex
export GIT_WORK_TREE=/path/to/repo
export GIT_DIR=/path/to/repo/.git
git show -s --pretty=format:%h


文章来源: git with --git-dir= results in 'not a git repository'