git clone

git clone命令copy一个已经存在的Git仓储. git clone有点像svn的checkout, 他的不同之处是这个copy也是一个完整的仓储-它有自己的历史纪录, 能管理自己的文件.

clone自动创建了一个叫origin的远端连结指向原始的仓储. 这样就能很容易的和中心仓储进行交互.

用法

git clone <repo>

从<repo>这个位置clone一个仓储到本机. 这个原始仓储可以是本地的文件系统或者是远程机器(可通过http或ssh进入).

git clone <repo> <directory>

从<repo>这个位置clone一个仓储到本机的<directory>文件夹下.

讨论

如果一个项目已经被设置在一个中心仓储里面了, git clone命令是用户获得一个开发copy的最通常的方法. 和git init一样, git clone通常也执行一次--一旦开发者获得了一个copy, 所有的版本控制操作和协作都能通过他本地的仓储进行管理.

Repo-To-Repo的协作

非常重要的是, Git的working copy和从一个SVN仓储中checkout得到的working copy非常不一样. 和SVN不同的是Git的working copy和中心仓储没什么区别, 他们都是一个拥有同样功能的仓储.

因此Git的协作和SVN也非常不同. SVN依赖于中心仓储和working copy之间的关系, Git的协作模式是repostitory-to-repository交互. push和pull的两头都是仓储.

例子

下面的例子演示了如何从一个服务器上的中心仓储中获取一个本地copy.

git clone ssh://john@example.com/path/to/my-project.git
cd my-project
# Start working on the project

第一行命令初始化了一个Git仓储在本地my-project这个文件夹. 然后cd到my-project文件夹下面开始编辑文件, commit, 和其他仓储进行交互.

注意了我们本地的文件夹不是my-project.git而是my-project, .git被自动忽略了. 这意味着我们本地这个copy是非bare仓储.

[译]git clone的更多相关文章

  1. git clone出现的error: The requested URL returned error: 401 Unauthorized

    error: The requested URL returned error: 401 Unauthorized while accessing https://git.oschina.net/.. ...

  2. git clone Linux 源码并切换TAG

    想从github上下载一个特定TAG分支来查看代码,按照先git clone后git checkout的方式,提示说有文件没有提交.因为只查看不编译运行,所以这些关系不大的文件采取删除或者重新命名后提 ...

  3. git clone时,报403错误,完美解决方案

    首先命令行操作结果如下: root@zhiren-PowerEdge-T110-II:/zrun# git clone https://git.coding.net/xxxxxxxx/xxxx.git ...

  4. git clone error: RPC failed; result=22, HTTP code = 502

    http://www.jianshu.com/p/645d3fe4e028 git克隆的工程太大用https的方式会有如下问题 hbl:tmp hubert$ git clone https://gi ...

  5. git clone带用户名和密码的方式

    git clone http://username:password@127.0.0.1/res/res.git

  6. git clone错误

    git clone错误 Initialized empty Git repository in ***/.git/ error: The requested URL returned error: 4 ...

  7. git clone google代码库

    git clone  https://chromium.googlesource.com/chromium/src 发现有将近7G,但是速度太慢,老是失败,提示信息先后是"The remot ...

  8. [译]git remote

    git remote命令让我们可以创建, 查看, 删除一个到其他仓储的连结. 下图展示了我们的本地仓储有两个remote连接, 一个是中央仓储, 一个是其他开发者的仓储. 除了使用完整的url指向他们 ...

  9. [译]git init

    git init git init命令用来创建一个新的Git仓储.可以用在一个已经存在的但是没有受Git版本控制的项目,或者用来初始化一个全新的没有任何文件的空仓储.git init通常是你开始一个新 ...

随机推荐

  1. 关于Unity3d粒子系统的小发现(天堂3技能释放)

    导入系统给的粒子包,发现了一个问题:系统的粒子都有移动轨迹. 而自己新建的空粒子系统却没有这个功能.顺便也复习一下粒子系统. Particle System (粒子系统): Duration(持续时间 ...

  2. 使用uWSGI部署django项目

    先说说什么是uWSGI吧,他是实现了WSGI协议.uwsgi.http等协议的一个web服务器,那什么是WSGI呢? WSGI是一种Web服务器网关接口.它是一个Web服务器(如nginx)与应用服务 ...

  3. Altium Designer 15 --- Nets Update

    Now I want to introduce the use of 'Configure Physical Nets', as follows: If you has finished the PC ...

  4. 一个叫<NameValuePair>的东西~~~

    public String getInviteRelation(String phone){ String url = PropertiesUtil.getPropertyValue("HH ...

  5. python 培训之 Python 数据类型

    0. 变量 计算机某块内存的标签,存储数据的容器的标签,可被覆盖. a = ""     a = "a1bcd"       a=a+"ddd&quo ...

  6. 批处理学习:for语句详解【经典】

    大纲 一 前言 二 for语句的基本用法 三 for /f (delims.tokens.skip.eol.userbackq.变量延迟) 四 for /r (递归遍历) 五 for /d (遍历目录 ...

  7. 9月27日Bootstrap

    Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷.Bootstrap ...

  8. Eclipse Maven Web工程报错:java.lang.ClassNotFoundException: ContextLoaderListener

    原因:打包项目时没有把相关Maven依赖包打到WEB-INF/lib下,正常情况下,会生成lib目录并把工程的所有依赖jar包都部署到该目录下. 解决:右键点击项目--选择Properties,选择D ...

  9. Latex论文写作-Texsdudio 快捷键总结

    Latex论文写作-Texsdudio 快捷键总结  The keyboard shortcuts can be modified at Options -> Shortcuts. The fo ...

  10. Ubuntu 14.04 LTS 更新源大全

    Ubuntu 14.04 LTS 系统更新源汇总 如何使用这些系统更新源?---三步走 首先备份源列表: sudo cp /etc/apt/sources.list /etc/apt/sources. ...