- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
git clone 帮助页面对 --mirror
有这样的说法:
Set up a mirror of the remote repository. This implies
--bare
.
但没有详细说明 --mirror
克隆与 --bare
克隆有何不同。
最佳答案
不同之处在于,当使用 --mirror
时,所有 refs 按原样 复制。这意味着一切:远程跟踪分支、注释、refs/originals/*(来自过滤器分支的备份)。克隆的仓库拥有一切。它还进行了设置,以便远程更新将从原点重新获取所有内容(覆盖复制的引用)。这个想法实际上是镜像存储库,拥有一个完整的副本,这样你就可以在多个地方托管你的中央存储库,或者备份它。想想直接复制 repo,除了以更优雅的 git 方式。
新documentation几乎所有这些都说了:
--mirror
Set up a mirror of the source repository. This implies
--bare
. Compared to--bare
,--mirror
not only maps local branches of the source to local branches of the target, it maps all refs (including remote branches, notes etc.) and sets up a refspec configuration such that all these refs are overwritten by agit remote update
in the target repository.
我原来的回答还指出了裸克隆和普通(非裸)克隆之间的区别 - 非裸克隆设置远程跟踪分支,仅为 HEAD
创建本地分支,而裸克隆直接复制分支。
假设 origin 有几个分支(master (HEAD)
、next
、pu
和 maint
) ,一些标签(v1
,v2
,v3
),一些远程分支(devA/master
, devB/master
), 和一些其他的 refs (refs/foo/bar
, refs/foo/baz
, 可能是笔记, stashes, 其他开发者的命名空间,谁知道)。
git clone origin-url
(non-bare): 你会得到所有的标签复制,本地分支 master (HEAD)
跟踪远程分支 origin/master
,以及远程分支 origin/next
、origin/pu
和 origin/维护
。设置跟踪分支,以便如果您执行类似 git fetch origin
的操作,它们将按您预期的方式获取。任何远程分支(在克隆的远程中)和其他引用都将被完全忽略。
git clone --bare origin-url
:您将复制所有标签,本地分支 master (HEAD)
、next
、pu
和maint
,没有远程跟踪分支。也就是说,所有分支都按原样复制,并且完全独立设置,不期望再次获取。任何远程分支(在克隆的远程中)和其他引用都将被完全忽略。
git clone --mirror origin-url
: 这些引用中的每一个都将按原样复制。你会得到所有的标签,本地分支master (HEAD)
, next
, pu
, and maint
,远程分支 devA/master
和 devB/master
,其他 refs refs/foo/bar
和 refs/foo/baz
。一切都与克隆 Remote 中的完全一样。设置了远程跟踪,这样如果您运行 git remote update
,所有 refs 都将被覆盖,就好像您刚刚删除了镜像并重新克隆了它一样。正如文档最初所说,它是一面镜子。它应该是功能相同的副本,可以与原件互换。
关于git - git clone --mirror 和 git clone --bare 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3959924/
什么是 vb6 或 java 中的对象克隆?我们在什么情况下使用克隆?克隆对象是什么意思?谁能用例子告诉我。 最佳答案 克隆实际上是将对象数据复制到新对象中。 此示例不克隆数据: Foo p = ne
ArrayList a=new ArrayList(); a.add(5); ArrayList b=(ArrayList)a.clone(); a.add(6); System.out.printl
这个问题在这里已经有了答案: Why does cloned() allow this function to compile (1 个回答) 关闭 3 个月前。 假设我们有一个可以克隆的某种类型的
我有这样的代码,我需要在其中将某些内容插入到两个单独的 HashMap 中。我只想要实现克隆的通用类型。 use std::collections::HashMap; use std::clone::
这段代码(also on play) use std::sync::Arc; struct Foo { x: isize, // Something complex in actual cod
我有按钮 Drag to insert h1 tag 当你拖动它时,我希望按钮留在原来的位置,助手是 Example在你放下它的地方,你会放下h1没有任何可拖动或 jQuery UI 样式的标记。 所
覆盖 clone 方法,而不实现 Cloneable 接口(interface)并且不调用 super.clone() 是一个好习惯。这样,就不会抛出 CloneNotSupportedExcepti
public abstract class Shape implements Cloneable { private String id; protected String type;
克隆远程仓库后,它不会通过 -a 选项显示任何远程分支。可能是什么问题呢?如何调试呢?在此片段中,未显示两个远程分支: $ git clone --depth 1 git://git.savannah
我看过这个答案for a git clone error ,建议不要克隆整个 repo,而是只克隆最新的提交,然后使用 unshallow 获取其余的提交。 考虑以下两个命令 1. git clone
当在网上搜索如何以多态方式深层复制对象的可能性时,我发现了 solution声称可以使用 clone() 方法解决许多问题,例如无法克隆 final 字段。该解决方案结合了在 clone() 实现中使
我正在尝试创建一个动态表单来向业务合作伙伴展示。 目标是能够在单击按钮时根据需要添加选择元素。但是,当它被点击时,它会复制模板两次,而不是一次。 这里只是我尝试过的代码的一些变体和 here is t
我知道实现 Object#clone() 的约定表明您应该调用 super.clone() 来获取复制的对象。 但我只是想知道如果我不这样做的话会有什么后果。让我们假设这个例子: class Some
我所说的示例:http://jsfiddle.net/bsnxp/1/ 如果你检查源 .show().clone() display 是 inline-block (它应该是什么)并且 .clone(
我正在编写代码来创建对象、克隆对象,然后比较两者。 所讨论的对象 Octagon 是对象 GeometricObject 的扩展 public class Octagon extends Geomet
我看到clone()在django代码中被广泛使用 queryset.query.clone() queryset.clone() 它的用途是什么?我应该模仿查询集或管理器方法中的行为吗? 最佳答案
我尝试导入 git project进入 eclipse 。手册告诉我在控制台中使用此命令: git clone http://git-wip-us.apache.org/repos/asf/mina-
我正在使用 jquery .clone(),它工作正常。但是我的问题是,当我克隆我的输入字段时,它也会克隆前一个字段的值。我不想克隆该值。我该如何克服这个问题? 这是我的代码 function add
在 this SO thread 中,结果表明,在制作项目副本方面,切片比任何方法都快。 使用: list1 = ['foo','bar'] copy1 = list1 * 1 list1.pop()
我有一个自动脚本可以解析服务器并克隆其中一个文件夹中的所有存储库。它所做的伪代码是: for each repo_name if a folder named like repo_name exi
我是一名优秀的程序员,十分优秀!