gpt4 book ai didi

git - 从不同的目录执行 git pull

转载 作者:IT王子 更新时间:2023-10-29 00:59:26 26 4
gpt4 key购买 nike

我正在配置 calimoucho (一个小型​​ continuos 集成服务器),为了让它工作,我需要运行一个命令从外部 pull 一个克隆的 git hub 存储库。

更准确地说,我会用一个例子来解释。

我有以下存储库

cd /home/sas
mkdir apps
cd apps
mkdir myApp
cd myApp
git init
echo "my file" > file
git add .
git commit -m "initial commit"

只是一个愚蠢的测试存储库,我的应用程序应该在其中

现在我需要将该存储库克隆到 checkout 文件夹。

cd /home/sas
mkdir calimoucho
cd calimoucho
mkdir checkout
cd checkout
git clone /home/sas/apps/myApp/

所以我的目录结构如下

~/apps
myapp
.git
file
~/calimoucho
checkout
myapp
.git
file

continuos 集成服务器将不得不从 ~/apps/myapp pull 新的更改到 ~/calimoucho/checkout/myapp,从 ~/calimoucho 运行命令行语句

我尝试使用以下命令

~/calimoucho$ git --git-dir=/home/sas/apps/myApp/.git --work-tree=/home/sas/calimoucho/checkout/myApp/ pull

我得到以下错误

fatal: /usr/lib/git-core/git-pull cannot be used without a working tree.

如果我没有指定 --work-tree 选项,则会发出 pull ,但更改会应用于 ~/calimoucho 文件夹而不是 ~/calimoucho/checkout/myApp

知道如何从 ~/calimoucho 文件夹更新克隆的 repo 吗?

非常感谢

最佳答案

我也有这个疑问。我在 git 文档 ( https://git-scm.com/docs/git ) 中找到了答案。

运行命令

git -C <git-working-directory> pull <git remote>

回答这个问题的具体命令是

git -C checkout/myApp/ pull

注意重要的是-C <git-working-directory>出现在 pull 之前命令和任何其他 pull 选项都可以在命令末尾指定。在上面的示例中,git clone命令将设置默认的远程存储库 ~/apps/myapp,因此不需要指定远程存储库。

关于git - 从不同的目录执行 git pull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7622616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com