git学习1-创建和获得项目

获得和创建项目

pre:

  • 索引(index)就是指添加(add)后的文件记录。
  • 工作树(working tree)指当前的目录树及其文件。

init

该命令用于创建一个空的仓库或者初始化一个已经存在的仓库。

其会创建一个.git文件夹,其内部会创建以下子文件:

  • objects
  • refs/heads
  • refs/tags

选项:

  • -q;--quite:只打印错误和警告信息;其他的输出都不会被输出。
  • --bare:创建一个空仓库,如果GIT_DIR环境变量没有设置,就其将当前工作目录设置。
  • --template=<template-directory>:指定模板被使用的目录。
  • -b <branch-name>;--initial-branch=<branch-name>:为新创建的仓库的初始化分支指定指定的名字。(如果没有指定,目前即为master,后期可能会改变。

通常用法:

1
git init

clone

克隆一个仓库到一个新的目录。

将一个存储库克隆到一个新创建的目录中,为克隆存储库中的每个分支创建远程跟踪分支(使用git branch——remotes可见),并创建并签出一个从克隆存储库的当前活动分支分离出来的初始分支。

在克隆之后,没有参数的git fetch命令将会更新所有的远程分支。没有参数的git pull将会额外将远程仓库的master分支合并到当前本地的master分支。

这个默认配置是通过创建对下面的远程分支头的引用来实现的,refs/remotes/origin和初始化remote.origin.urlremote.origin.fetch

选项:

  • -l; --local:当要被克隆的仓库是一个本地机器,这个标志绕过了正常的“Git感知”传输机制,通过复制objects和refs目录下的HEAD和所有东西来克隆存储库。将创建.git/objects/目录下的文件硬链接,以尽可能节省空间。
  • --no-hardlinks:强制克隆过程从本地文件系统的存储库中复制.git/objects目录下的文件,而不是使用硬链接。
  • -q;--quiet:静默地运作。进度不会报告给标准错误流。
  • --progress:默认状态,除非使用了-q。即所有的状态报告都会被打印出来。
  • -o <name>; --origin <name>:使用自定义的<name>名字作为远程仓库名字,而不是origin。本质是重写了配置文件中的clone.defaultRemoteName项。
  • -b <name>; --branch <name>:并不是从远程克隆仓库的HEAD所指向的分支来创建新的本地分支的HEAD,而是从<name>分支的HEAD来创建。
  • --depth <depth>:创建一个浅克隆,其历史截断为指定的提交数量。--single-branch--no-single-branch可以用来获取是否是仓库的所有分支。
  • --shallow-since=<date>:在指定的时间之后创建具有历史记录的浅拷贝。
  • --shallow-exclude=<revision>:创建一个具有历史记录的浅克隆,排除从指定的远程分支或标记可到达的提交。此选项可指定多次。
  • <repository>:要克隆的仓库地址,如:git://git.host.xz/
  • <directory>:要克隆到的新目录的位置。

通常用法:

1
git clone git://git.host.xz/

Powered by Hexo and Hexo-theme-hiker

Copyright © 2019 - 2024 My Wonderland All Rights Reserved.

UV : | PV :