Git (Windows) -从单独的Git -dir存储库克隆失败



这几天我一直在努力寻找这个问题的答案:(

当我试图从使用——separate-git-dir初始化的存储库克隆时,谁能确认我是否在下面的示例中获得了"Git克隆"的语法正确?

如果可以,在Linux系统上可以吗?

在windows上使用Git (Git version 1.7.6.msysgit。从GitExtensions224SetupComplete.msi)我得到一个错误,如下所示,看起来好像"Git克隆"期望repo有一个"正常"积分。Git dir

由于——separate-git-dir是msysgit中最近的一个特性,也许clone命令还不支持它?

F:>mkdir repo2
F:>mkdir repo2git
F:>cd repo2
F:repo2>call git init --separate-git-dir="..repo2git.git"
Initialized empty Git repository in F:/repo2git/.git/
F:repo2>echo abc >file1.txt
F:repo2>call git add . -A
F:repo2>call git commit -m "first"
[master (root-commit) c7e4766] first
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 file1.txt
F:repo2>cd ..
F:>call git clone repo2 clone2
Cloning into clone2...
fatal: failed to open 'F:/repo2/objects': No such file or directory

在执行了这里的操作之后,您的初始'git init'不正确。您在克隆时遇到麻烦,因为您的存储库一开始就不正确。我是这样做的:

Travis@CASTLE ~/travtemp
$ git init travis
Initialized empty Git repository in c:/Users/Travis/travtemp/travis/.git/
Travis@CASTLE ~/travtemp
$ ls
repo2  repo2git  travis
Travis@CASTLE ~/travtemp
$ cd travis/
Travis@CASTLE ~/travtemp/travis (master)
$ touch t1
Travis@CASTLE ~/travtemp/travis (master)
$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       t1
nothing added to commit but untracked files present (use "git add" to track)
Travis@CASTLE ~/travtemp/travis (master)
$ git add .
Travis@CASTLE ~/travtemp/travis (master)
$ git commit -m "first"
[master (root-commit) d93a0d0] first
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 t1
Travis@CASTLE ~/travtemp/travis (master)
$ git status
# On branch master
nothing to commit (working directory clean)
Travis@CASTLE ~/travtemp/travis (master)
$ cd ..
Travis@CASTLE ~/travtemp
$ git clone travis new
Cloning into new...
done.
Travis@CASTLE ~/travtemp
$ ls
new  repo2  repo2git  travis

还有关于跨本地文件系统的线程GIT克隆回购的其他信息

最新更新