这个问题可能是基于我对.gits和git存储库的作用缺乏了解,但是:
我可以使用我git init
在机器之间创建的内容来同步一个目录吗?
我的笔记本电脑上有一个存储库,唯一的方法就是将scp/rsync移到远程主机上,我可以从中再次下载它.我可以同步这些主机之间的完整目录结构吗?
Jak*_*ski 28
有几种可能性:
您可以只rsync
使用.git
存储库(甚至整个存储库以及工作目录),前提是您在存储期间没有任何活动rsync
(与使用rsync://
协议相同的免责声明).
您可以使用不推荐使用的 rsync
协议克隆或获取(其中存储库URL /位置如下所示:" rsync://host.xz/path/to/repo.git/
").请注意,不推荐使用此协议,因为如果存储库中存在任何活动,则可能会损坏克隆(或获取).
另外,正如我所听到的那样,自2007年以来,它在包装裁判的存在下无法正常工作,直到最近才有人注意到.它会(它确实)在Git 2.8中消失.
或者你可以在其他机器上创建git bundle,rsync
它或者scp
克隆或从bundle中获取.
你可以没有任何问题rsync,但如果你有一些遥控器声明与机器本地的主机名(即只存储在/ etc/hosts中)那么那些显然是行不通的.
但是,有什么理由不使用git本身同步内容?
是的,你可以,但你应该使用裸存储库,如本主题所示.
$ git clone --bare ./projet projet.git
$ rsync -a --stats --delete ./projet.git/ votre.serveur:~/projets/projet.git/
Run Code Online (Sandbox Code Playgroud)
注意:6年以后,git 2.8(2016年3月)将正式弃用并完全删除git rsync协议!
请参阅Jeff King()提交0d0bac6(2016年1月30日).(由Junio C Hamano合并- -在提交9f03176,2016年2月17日)peff
gitster
事实证明,
git clone
当源存储库已经打包了很长时间的引用时,rsync传输已被破坏,没有人注意到也没有抱怨它.
来自Jeff King(peff
)的提交0d0bac6具有所有细节.
归档时间: |
|
查看次数: |
23374 次 |
最近记录: |