kno*_*cte 6 svn git version-control
git 没有完全相同的 svn export命令?真?
注意:这不是一个重复的问题.也就是说,我已经知道并测试了这些命令:
git clone --depth 1 < - 仍然下载.git文件夹.git checkout-init < - 不适用于远程仓库,它适用于工作副本(因此您需要先克隆).git archive< - 这将是一个完美的解决方案,因为它有一个--remote参数,但它只有两种可能的格式:tar或zip,所以我需要在下载后解压缩/解压缩,为此我需要一个管道(|),但是我在窗户上!(不是*n?x)git clone --bare < - 我仍然不知道这是什么,但这不是我需要的.请赐教我svn export在git中有真正的替代品吗?
Bru*_*uno 13
git clone --depth 1 your_repo_url
Run Code Online (Sandbox Code Playgroud)
然后,从rmdir文档:
rd /s /q .git
Run Code Online (Sandbox Code Playgroud)
Dan*_*Ray 10
问题是"如何使用git进行svn-style'导出?" 就像问"我怎样才能改变我的篮球轮胎?".你不能,但这不是篮球的错.是的,它是橡胶和充满空气,但相似之处到此为止.
您只需要使用svn"export",因为它会使用.svn目录污染每个子目录.Git不这样做,所以你真的不需要它.克隆是一个导出,只是在根目录下有一个目录,所有存储库业务都存在于该目录中.
最简单的方法是克隆repo,然后从repo的顶层删除.git目录.这样做,它不再是一个回购,它只是一个独立的文件目录.
或者,你知道,一起忽略git并只使用你克隆下来的文件.这也有效.
只需删除工作副本中的存储库.
git clone remote
rm -Rf .git
Run Code Online (Sandbox Code Playgroud)
(在Windows上,它是rd /s /q.感谢@Bruno的提示.)
小智 3
在 GitHub 等某些主机上,您可以精确地指定svn export.
例子:
svn export https://github.com/GNOME/banshee/branches/master
Run Code Online (Sandbox Code Playgroud)
甚至是部分的!(存储库的某些子部分)
例子:
svn export https://github.com/liferay/liferay-portal/branches/6.1.x/tools
Run Code Online (Sandbox Code Playgroud)
对于您自己的存储库,您应该创建一些 GitHub 存储库并将其添加为远程存储库:
git remote add github https://github.com/<user>/<repo>.git
Run Code Online (Sandbox Code Playgroud)
然后
git push github <branch>
Run Code Online (Sandbox Code Playgroud)
现在您可以按照上述方式进行部分结帐。
更新:看起来这个功能即将停止。