git clone命令有问题。当我跑的时候
$ git clone /SOURCE_DIRECTORY /TARGET_DIRECTORY一切都很好,我
Initialized empty Git repository in /TARGET_DIRECTORY/.git/当我运行这个命令时(只有file://添加)
$ git clone file:///SOURCE_DIRECTORY /TARGET_DIRECTORY我得到了
Initialized empty Git repository in /TARGET_DIRECTORY/.git/
remote: Counting objects: 737, done.
remote: Compressing objects: 100% (189/189), done.
remote: Total 737 (delta 264), reused 725 (delta 256)
Receiving objects: 100% (737/737), 68.25 KiB, done.
Resolving deltas: 100% (264/264), done.
error: Trying to write ref HEAD with nonexistant object XXXXXXXX
fatal: Cannot update the ref 'HEAD'.有人能告诉我,/DIRECTORY和file:///DIRECTORY之间有什么区别,为什么我在这里得到了不同的结果?
发布于 2016-08-19 00:12:37
从指向Git文档的链接中,@埃尔比凯对其进行了注释:
如果在URL开头显式指定
file://,则Git的操作略有不同。如果您只是指定路径,Git尝试使用硬链接或直接复制它需要的文件。如果指定了file://,则Git会触发它通常用于通过网络传输数据的进程,而网络传输数据的效率通常要低得多。指定file://前缀的主要原因是,如果您想要一个干净的存储库副本,其中忽略了无关的引用或对象--通常是在从另一个版本控制系统导入之后或其他类似的东西之后。
因此,您看到的额外输出意味着Git正在旋转其网络堆栈来传输数据,而不是像在第一个示例中所做的那样执行本地副本。因此,除非您有理由使用网络堆栈来传输数据,否则最好删除file://。
至于错误:
error: Trying to write ref HEAD with nonexistant object XXXXXXXX
fatal: Cannot update the ref 'HEAD'.这些答案表明,使用较旧版本的Git可能会造成这种情况:
所以试着升级你的Git客户端。
https://stackoverflow.com/questions/39023895
复制相似问题