在 Git 中,您可以将给定目录克隆到给定目录:
git clone ssh://gitolite@dev.bipper.com:3687/com/bipper/kids/portal <dir>
当我运行我们的一个构建脚本时,“cd”命令会出现一些复杂问题,我想使用 git pull 如下所示:
git pull <dir-to-the-git-folder>
Ergo 在执行拉取(或获取/合并)时不必在 git 文件夹中,是否有可能以某种方式实现(我上面的示例不起作用)
在 Git 中,您可以将给定目录克隆到给定目录:
git clone ssh://gitolite@dev.bipper.com:3687/com/bipper/kids/portal <dir>
当我运行我们的一个构建脚本时,“cd”命令会出现一些复杂问题,我想使用 git pull 如下所示:
git pull <dir-to-the-git-folder>
Ergo 在执行拉取(或获取/合并)时不必在 git 文件夹中,是否有可能以某种方式实现(我上面的示例不起作用)
我认为你应该看看,git-dir
也许还有work-tree
选项。如果您愿意,也可以使用GIT_DIR
/变量。GIT_WORK_TREE
请参阅手册:
--git-dir=<path>
设置存储库的路径。这也可以通过设置 GIT_DIR 环境变量来控制。它可以是当前工作目录的绝对路径或相对路径。
-work-tree=<path>
设置工作树的路径。它可以是绝对路径或相对于当前工作目录的路径。这也可以通过设置 GIT_WORK_TREE 环境变量和 core.worktree 配置变量来控制(有关更详细的讨论,请参阅 git-config(1) 中的 core.worktree)。
尝试
GIT_DIR=<dir-to-the-git-folder>/.git GIT_WORK_TREE=<dir-to-the-git-folder> git pull
您还可以分别使用--git-dir
和指定这些选项--work-tree
。
来自man git
:
--git-dir=<path> Set the path to the repository. This can also be controlled by setting the GIT_DIR environment variable. It can be an absolute path or relative path to current working directory. --work-tree=<path> Set the path to the working tree. It can be an absolute path or a path relative to the current working directory. This can also be controlled by setting the GIT_WORK_TREE environment variable and the core.worktree configuration variable (see core.worktree in git-config(1) for a more detailed discussion).
从 git 1.8.5 开始,您可以使用该-C
选项来更改目录上下文。
sudo -u www-data -H git -C /var/www/ status
-H
将为您的命令设置主目录。它是可选的,但在您想避免以下错误时很有用:
warning: unable to access '/root/.config/git/attributes': Permission denied
or
warning: unable to access '/home/user/.config/git/attributes': Permission denied