Git 获取仓库(分布式版本控制系统)

1、在现有目录中初始化仓库

  • 如果你打算使用 Git 来对现有的项目进行管理,你只需要进入该项目目录并输入以下命令。

    1
    2
    # 初始化仓库
    $ git init
    • 该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。 但是,在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪。
  • 如果你是在一个已经存在文件的文件夹(而不是空文件夹)中初始化 Git 仓库来进行版本控制的话,你应该开始跟踪这些文件并提交。你可通过 git add 命令来实现对指定文件的跟踪,然后执行 git commit 提交。

    1
    2
    3
    4
    5
    6
    7
    # 添加所有的 .c 文件
    # git add [文件名]
    $ git add *.c

    # 提交文件到本地仓库
    # git commit -m [提交内容说明]
    $ git commit -m "initial project version"

2、克隆现有的仓库

  • 如果你想获得一份已经存在了的 Git 仓库的拷贝,这时就要用到 git clone 命令。Git 克隆的是该 Git 仓库服务器上的几乎所有数据,而不是仅仅复制完成你的工作所需要文件。当你执行 git clone 命令的时候,默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。

  • 克隆仓库的命令格式是 git clone [url]。 比如,要克隆 Git 的可链接库 libgit2,可以用下面的命令。

    1
    2
    # git clone [仓库的 url 地址]
    $ git clone https://github.com/libgit2/libgit2
    • 这会在当前目录下创建一个名为 “libgit2” 的目录,并在这个目录下初始化一个 .git 文件夹,从远程仓库拉取下所有数据放入 .git 文件夹,然后从中读取最新版本的文件的拷贝。
  • 如果你想在克隆远程仓库的时候,自定义本地仓库的名字,你可以使用如下命令。

    1
    2
    # git clone [仓库的 url 地址] [本地仓库名称]
    $ git clone https://github.com/libgit2/libgit2 mylibgit
    • 这将执行与上一个命令相同的操作,不过在本地创建的仓库名字变为 mylibgit。
  • Git 支持多种数据传输协议。上面的例子使用的是 https:// 协议,不过你也可以使用 git:// 协议或者使用 SSH 传输协议,比如 user@server:path/to/repo.git。

2.1 使用账号和密码克隆

  • Git 拉取远程仓库的时候如果提示需要输入密码,那你可以是因为权限不足,可以在 Clone 命令上加上账号密码就可以拉去下来,命令如下。

    1
    2
    # git clone [--bare] [链接类型]://userName:password@仓库链接
    $ git clone --bare https://username:password@dev.qianchia.com/diffusion/0/demo.git
  • 其中

    • 如果 username 使用的邮箱,那么 @ 要用 %40 来代替,如我的邮箱为 `qianchia@qq.com写成qianchia%40qq.com`。
    • --bare 创建的克隆版本库都不包含工作区,直接就是版本库的内容,这样的版本库称为裸版本库。
文章目录
  1. 1. 1、在现有目录中初始化仓库
  2. 2. 2、克隆现有的仓库
    1. 2.1. 2.1 使用账号和密码克隆
隐藏目录