草庐IT

clone_flags

全部标签

git - 在 git svn clone 中使用 --no-metadata 有优势吗?

我正在使用gitsvnclone进行从SVN存储库到Git存储库的单向转换。大多数示例使用--no-metadata标志执行此操作-使用此标志有优势吗?我知道该标志删除了SVN修订号。我能想到为什么保留这些可能有用的原因(例如回顾错误跟踪软件中提到的特定提交)。for使用--no-metadata标志的参数是什么?除了断绝一切的感觉,还有什么好处吗? 最佳答案 使用--no-metadata的一个论据是它不会更改您的提交消息。因此,即使您从不同的位置获取,提交消息也将相同,因此提交哈希也将相同。例如,如果我从本地file:URLgi

git - 防火练习 : Recreate Github (or any other central) repository from developers clones

假设您有一个带有中央主git存储库的场景,开发人员和CI引擎从中克隆。IE。非常接近传统的非分布式版本控制系统设置,具有中央集线器和许多节点。这可以是像Github(Gitlab/Savannah/Azure等)这样的云服务,或者带有git服务器或其他内部设置的Synology。现在假设服务器被盗或被闪电击中或任何其他会导致中央存储库及其所有集中备份消失的事情。您只剩下各种克隆,幸运的是,其中一个已完全更新,因此您创建了一个空白的git存储库替换服务器,用作future的中央存储库,然后开始处理克隆。完全更新的克隆知道所有带有“gitbranch-a”的“remotes/origin”

git - 我如何 "git clone"一个 repo,包括它的子模块?

我如何克隆一个git存储库以便它也克隆它的子模块?运行gitclone$REPO_URL只会创建空的子模块目录。 最佳答案 在Git2.13及更高版本中,可以使用--recurse-submodules代替--recursive:gitclone--recurse-submodules-j8git://github.com/foo/bar.gitcdbar编者注:-j8是一个可选的性能优化,在2.8版中可用,一次可以并行获取多达8个子模块—请参阅mangit-clone.Git1.9到2.12版(-j标志仅在2.8+版中可用):gi

git - git clone 的进度指示器

gitclone时是否可以得到进度条?我想知道,因为我目前正在做一个gitclone,到目前为止已经花了几分钟,我很想知道它是否很快就会完成。 最佳答案 不是真的。gitclone有多个阶段:发现需要发送的对象(“Countingobjects:nnn”)压缩并发送这些对象索引收到的包裹查看收到的文件第1阶段涉及遍历每个分支负责人的提交图,找到所有提交和关联的对象:由于事先不知道有多少提交,因此无法衡量进度。遗憾的是,这通常是克隆操作中花费大量时间的地方。第2阶段确实有一个进度计数器,尽管它计算的是对象而不是体积(因此它的速率会有所

git - 失败 "git svn clone"的解决方法(需要完整的历史记录)

我想将Subversion存储库子目录(此处用module表示)转换为具有完整历史记录的git存储库。在我的Subversion存储库的历史记录中有许多svncopy操作(Subversion人称它们为分支)。发布政策是在每次发布或创建其他分支后,旧URL保持未用状态,新URL替换旧URL以包含工作。最理想的是,根据我的阅读,这似乎应该可以解决问题:$gitsvnclone--username=mysvnusername--authors-file=authors.txt\--follow-parent\http://svnserver/svn/src/branches/x/y/app

git - clone 和 mkdir->cd->init->remote-add->pull 有什么区别?

在Github上建立一个repo后,似乎有两种方法可以将该repopull入本地repo。首先,我可以创建一个目录,初始化一个空白存储库,添加一个远程,然后从远程pull更改。>mkdir"exampleProject">cd"exampleProject">gitinit>gitremoteaddorigingit@github.com:exampleUser/exampleProject.git>gitpulloriginmaster其次,我可以克隆Remote。>gitclonegit@github.com:exampleUser/exampleProject.git克隆只是上述

git clone 从本地到远程

我们正在将我们的工作流程从Mercurial迁移到Git,我有两个小问题。首先,是否可以将本地存储库直接“克隆”到一个空的远程(ssh)目录中?目前,当我们创建一个新网站时,我们基本上是在本地克隆我们的CMS,对其进行配置,然后我们将其克隆到中央仓库和网络服务器上(hgclone.ssh://account@server/www)。这样我们就可以立即获得推/pull的好处。这让我想到了第二个问题,远程部署。目前使用Mercurial,我在远程存储库中有一个简单的Hook,它在收到变更集时执行hgup。要对Git执行相同的操作,我已按照此处的说明进行操作:http://caiustheo

git clone 更改文件修改时间

当我使用“gitclone...”命令克隆Git存储库时,我本地存储库中的所有克隆文件都具有与git已发出克隆命令。有没有办法克隆一个远程Git存储库每个文件的实际修改时间? 最佳答案 Gitdoesnotrecordtimestampforthefiles,因为它是一个分布式VCS(这意味着您计算机上的时间可能与我的不同:没有时间和日期的“中心”概念)解释了不记录元数据的官方论点inthisanswer.但是您可以找到尝试恢复有意义日期的脚本,likethisone(或simplerversionofthesameidea)。

git Hook : is there a clone hook?

我们想在外部数据库中存储一些关于提交的元信息。在克隆或checkout期间,应引用此数据库,我们将元信息复制到克隆的存储库中的文件中。需要数据库而不是仅仅使用文件是为了索引和搜索等......我想如果有一个克隆钩子(Hook),我们就可以触发它。我无法在.git/hooks中的示例中找到克隆Hook。有吗?checkout后Hook是客户端的唯一可能性吗? 最佳答案 好的,一种方法是使用clone--template选项。指定客户端Hook将存储为--template开关值的位置。钩子(Hook)被复制到克隆中,并立即触发check

git - 如何在 git clone --reference 之后分离替代品?

我正在使用gitclone--reference来减少慢速连接上的网络流量。现在,git-clone的手册页指出了使用它的危险并建议gitrepack-a断开链接,我正在立即这样做克隆之后。我想知道的是-在我完成重新打包之后,是否可以安全地删除.git/objects/info/alternates或者是否有适当的git命令来做这个?谢谢 最佳答案 请注意,gitclone现在有一个新的--dissociate选项可以执行此操作。它是在Git2.3中添加的:https://github.com/blog/1957-git-2-3-h