我正在做:
git clone ssh://user@host.com/home/user/private/repos/project_hub.git ./
Run Code Online (Sandbox Code Playgroud)
我越来越:
致命:目的地路径'.' 已存在且不是空目录.
我知道道路.已经存在.我可以保证目录是空的.(我在里面做,我什么都看不见!)
为了将该项目克隆到当前目录,我在这里缺少什么?
git clone帮助页面有这样的说法--mirror
:
设置远程存储库的镜像.这意味着
--bare
.
但是没有详细说明--mirror
克隆与克隆的不同之处--bare
.
如何克隆具有特定修订版的git存储库,就像我在Mercurial中通常所做的那样:
hg clone -r 3 /path/to/repository
Run Code Online (Sandbox Code Playgroud) 问题
如何使用来自Subversion存储库的git-svn创建浅表副本,例如,如何仅提取最后三个修订版?
git clone
如果您使用该选项--depth
,该命令可以从Git存储库获取最后n个修订版,即您获得存储库的浅表副本.例:
git clone --depth 3 git://some/repo myshallowcopyrepo
Run Code Online (Sandbox Code Playgroud)
git-svn有类似的选择吗?
到目前为止我的发现
到目前为止,我只找到了-rN
选项在哪里N
进行修改.例:
git svn clone -rN svn://some/repo
Run Code Online (Sandbox Code Playgroud)
根据文档,有可能使用-r$REVNUMBER:HEAD
.我尝试了以下内容来获取最后3个修订版,它们返回了一条错误消息.
$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
Run Code Online (Sandbox Code Playgroud)
所以我用HEAD~3
第三个但最后一个修订版534的实际数字替换了.这有效,但这要求我首先找出第三个但最后一个提交的修订号.
$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
Run Code Online (Sandbox Code Playgroud)
文档
该--depth 1
选件git clone
:
创建一个浅层克隆,其历史记录被截断为指定的修订数.浅存储库有许多限制(您不能克隆或获取它,也不能从中推送或插入它),但如果您只对历史悠久的大型项目的近期历史感兴趣并且希望将修补程序作为补丁发送.
但是我已经成功完成了一个浅层克隆,提交了一些更改并将这些更改推回到(裸克隆)源.
这对我有意义 - 我的意思是为什么不呢?当克隆的HEAD在原点可识别时,我的提交就在此之上,似乎没有理由.但手册说不然.
我喜欢浅层克隆的想法 - 例如drupal核心:当我从7开始时,我无法知道drupal 4中发生了什么 - 但我不想在脚下射击自己.
那么浅层克隆是否安全,在其中开发提交,再次拉动以跟上来自原点的更新?
我知道我可以通过git clone
命令获得项目,但有什么办法,如何从BitBucket.org通过Web界面下载项目?在最好的方式,我正在寻找一种方法来下载项目源作为ZIP压缩文件.
我正在尝试在我们组织的数据中心的构建服务器上设置Bower,但是git
端口似乎没有在数据中心的防火墙上打开.我可以使用git命令行客户端来克隆https://[repo]
,但不是git://[repo]
.
是否有一个开关或首选项将指示bower使用https
而不是git
协议执行git clone ?
我看过的来源,并认为更改分辨率代码替换git://
用https://
,但我想我会问之前,我去那些长度.
我现在遇到了一个存储库问题,虽然我的git-fu通常很好,但我似乎无法解决这个问题.
当我克隆这个存储库,然后cd进入repo时,git-status会显示几个已更改的文件.注意:我没有在任何编辑器或任何东西中打开回购.
我尝试按照本指南:http://help.github.com/dealing-with-lineendings/但这对我的问题没有任何帮助.
我尝试了cd
很多次,但似乎没有做任何事情.
任何帮助/想法将不胜感激
更新1:我在Mac上,并且repo本身没有子模块.
更新2:文件系统是mac上的"Journaled HFS +"文件系统,不区分大小写.这些文件是一行的,每个大约79K(是的,你听到了),所以看看git status
并不是特别有用.我听说过git checkout -- .
这可能会有所帮助,当我回到计算机上时,我会尝试使用它.
更新3:用事实更改文件系统的细节!而且,我尝试了git diff
一些效果不佳的技巧.
我有一个项目,我在其上创建了一个git存储库:
$ cd myproject
$ git init
$ git add .
$ git commit
Run Code Online (Sandbox Code Playgroud)
我想在另一台机器上创建一个裸克隆:
$ cd ..
$ git clone --bare myproject ssh://user@server:/GitRepos/myproject.git
Run Code Online (Sandbox Code Playgroud)
我执行了克隆但没有打印任何答案.我登录到服务器计算机并尝试查看文件的存储方式.路径/ GitRepos是空的,所以我决定再次进行克隆:
$ git clone --bare myproject ssh://user@server:/GitRepos/myproject.git
Run Code Online (Sandbox Code Playgroud)
这一次答案是:
致命:目标路径'ssh:// user @ server:/GitRepos/myproject.git'已经存在且不是空目录.
但我看到路径是空的.
这里发生了什么 ?
在谈到GIT时,我是一个完整的Noob.过去几天我一直在迈出第一步.我在我的笔记本电脑上设置了一个repo,从一个SVN项目中拉下了Trunk(有一些分支问题,没有让它们工作),但一切似乎都没问题.
我现在希望能够从笔记本电脑拉到或推送到我的主桌面.原因是笔记本电脑在火车上很方便,因为我每天花2个小时旅行,可以完成一些好的工作.但我家里的主机非常适合开发.因此,当我回到家时,我希望能够从笔记本电脑推/拉到主计算机.我认为最简单的方法是让局域网中的代码文件夹共享,并执行:
git clone file://192.168.10.51/code
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎对我不起作用:
所以我打开一个git bash cmd并输入上面的命令,我在C:\ code(两台机器的共享文件夹)这是我得到的:
Initialized empty Git repository in C:/code/code/.git/
fatal: 'C:/Program Files (x86)/Git/code' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
如何以最简单的方式在两台机器之间共享存储库.
将有其他位置将是官方存储点和其他开发人员和CI服务器等将从中拉出的位置,这样我就可以在两台计算机上处理相同的存储库.
根据塞巴斯蒂安的建议,我得到以下内容:
C:\code>git clone --no-hardlinks file://192.168.10.51/code
Initialized empty Git repository in C:/code/code/.git/
fatal: 'C:/Program Files (x86)/Git/code' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
**编辑 - 答案**
感谢所有帮助.我尝试映射一个驱动器,这工作所以我想回去重试没有映射.最终结果是:
git clone file://\\\\192.168.0.51\code
Run Code Online (Sandbox Code Playgroud)
这很有效.
谢谢