【问题标题】:specify directory for git pull (not current directory)为 git pull 指定目录(不是当前目录)
【发布时间】:2015-09-04 15:31:03
【问题描述】:

我想从 git 更新我现有的结帐,但不在该目录内:

-sh-3.2$ pwd
/var/lib/gitolite
-sh-3.2$ git clone repositories/visits.git/
Cloning into 'visits'...
done.
-sh-3.2$ cd visits/
-sh-3.2$ git remote -v
origin  /var/lib/gitolite/repositories/visits.git/ (fetch)
origin  /var/lib/gitolite/repositories/visits.git/ (push)
-sh-3.2$ cd
-sh-3.2$ git --git-dir=/var/lib/gitolite/repositories/visits.git/ --work-tree=/var/lib/gitolite/visits/ pull 
fatal: No remote repository specified.  Please, specify either a URL or a
remote name from which new revisions should be fetched.
-sh-3.2$ cd visits/
-sh-3.2$ git pull
Already up-to-date.
-sh-3.2$ git --version
git version 1.8.2.1
-sh-3.2$ 

我不太明白git-dirwork-tree,谁能解释我做错了什么?

【问题讨论】:

    标签: git


    【解决方案1】:

    git-dir 应该指向您本地副本的.git 文件夹(您的指向您克隆的远程存储库):

    例子:

    ~/tmp> git clone repositories/my-project.git/
    Cloning into 'my-project'...
    done.
    ~/tmp> git --git-dir=/Users/jhoffmann/tmp/my-project/.git \
    > --work-tree=/Users/jhoffmann/tmp/my-project/ pull
    Already up-to-date.
    

    Git version 1.8.5 引入了-C,将其简化为:

    ~/tmp> git -C /Users/jhoffmann/tmp/my-project/ pull
    Already up-to-date.
    

    (取自this answer

    【讨论】:

    • 谢谢,我相信这正是缺少的))
    猜你喜欢
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多