我有目录A,文件与目录B匹配.目录A可能有其他所需的文件.目录B是一个git仓库.
我想将目录B克隆到目录A但git-clone将不允许我,因为该目录是非空的.
我希望它只能克隆.git,因为所有的文件匹配,我可以从那里去?
我无法克隆到一个空目录,因为我在目录A中的文件不在目录B中,我想保留它们.
复制.git不是一个选项,因为我想要refs推/拉,我不想手动设置它们.
有没有办法做到这一点?
更新:我认为这有效,任何人都可以看到任何问题吗? - >
cd a
git clone --no-hardlinks --no-checkout ../b a.tmp
mv a.tmp/.git .
rm -rf a.tmp
git unstage # apparently git thinks all the files are deleted if you don't do this
Run Code Online (Sandbox Code Playgroud) 我正在做:
git clone ssh://user@host.com/home/user/private/repos/project_hub.git ./
Run Code Online (Sandbox Code Playgroud)
我越来越:
致命:目的地路径'.' 已存在且不是空目录.
我知道道路.已经存在.我可以保证目录是空的.(我在里面做,我什么都看不见!)
为了将该项目克隆到当前目录,我在这里缺少什么?
之前至少有 3 个问题解释了如何在没有 .git 目录的情况下克隆存储库:
从这些问题来看,您似乎不能git clone在没有目录的情况下运行并克隆存储库.git。
然而,在我克隆的大多数存储库中,例如下面命令中的存储库,没有.git创建目录。
git clone https://github.com/scotch-io/scotch-box.git
Run Code Online (Sandbox Code Playgroud)
什么决定了直接git clone命令是否创建.git目录?
我在MacBook Pro(OS X Mountain Lion)上使用git存储库已有好几个月了.大多数情况下,我一直在使用SmartGit客户端,但也使用命令行.今天,我更改了几个文件并转到SmartGit进行提交和推送,而SmartGit已经通过回购名称"丢失"了.
使用Finder,我确认工作树文件夹和子文件夹都处于良好状态.
在命令行中,"ls -a"显示.gitignore文件,但工作树文件夹中没有.git文件夹.
试过"git status",它给了:
致命的:不是git存储库(或任何父目录):.git
我在Windows机器上也有相同的存储库,它工作正常.它只是缺少MacBook Pro上尚未提交的已更改文件.
关于如何进行的建议?