【问题标题】:git pull for a local repository at specified location (instead of pwd)git pull 用于指定位置的本地存储库(而不是 pwd)
【发布时间】:2012-03-29 05:06:45
【问题描述】:

pwd 是“当前工作目录”。这是情况。

pwd:            /path/to/pwd/
git repository: /repo/path/.git/

我想从原点执行 git pull,但不更改当前目录。

再澄清一点,以防我不够清楚,这是我想要的结果,但我想用一个命令来完成,而不是必须更改目录:

$ cd /repo/path
$ git pull origin master
$ cd -

【问题讨论】:

  • 这个的用例是什么? (我只是好奇。)
  • @KajMagnus 这是 5 年前的事了,我真的不记得了。可能是想用单线更新 repo,这样我就可以根据需要使用^r 重复运行它,并且不会弄乱目录堆栈,因为我经常使用pushdpopdcd - .

标签: git


【解决方案1】:

bash -c "cd /repo/path; git pull origin master"

【讨论】:

  • 真的没有 git 选项吗? Git 的功能正在爆炸式增长,似乎很难相信您必须将工作目录放在存储库位置或其子目录中。
  • 哦,我不知道。如果有办法,我会全神贯注! :) 我只是想给你一个单线。
  • 不需要bash -c,可以使用(list)在子shell中执行list:(cd /repo/path; git pull origin master)
【解决方案2】:
git --work-tree=/repo/path --git-dir=/repo/path/.git pull origin master

【讨论】:

  • 这很难应用。你能提供一个公共回购的例子吗?
  • @Cognitiaclaeves,不确定您所说的“难以申请”是什么意思?刚刚尝试过,它“刚刚工作”。它应该适用于您有权访问的任何存储库。
猜你喜欢
  • 2010-11-01
  • 2019-06-09
  • 2013-07-11
  • 2013-10-09
  • 2021-03-10
  • 2013-11-19
  • 1970-01-01
  • 2016-07-27
  • 2019-12-07
相关资源
最近更新 更多