trusktr
trusktr

Reputation: 45454

How do I use the --work-tree option with git? I keep getting an error

I have a normal repo where there is a working tree and a .git folder in the same directory as the working tree.

I'm trying to run a git command from outside this location with the command

git --git-dir=/path/to/repo/.git --work-tree=/path/to/repo pull /some/other/repo master

but I keep getting the error fatal: /usr/libexec/git-core/git-pull cannot be used without a working tree..

What am I doing wrong?

Upvotes: 9

Views: 10501

Answers (1)

Richard Hansen
Richard Hansen

Reputation: 54143

This is a bug in earlier versions of Git. This problem should go away once you upgrade to 1.7.7.2 or later.

From the commit that fixed the bug:

You can't currently run git-pull or git-rebase from outside
of the work tree, even with GIT_WORK_TREE set, due to an
overeager require_work_tree function. Commit e2eb527
documents this problem and provides the infrastructure for a
fix, but left it to later commits to audit and update
individual scripts.

See also commit e2eb527.

Upvotes: 10

Related Questions