1、Git版本库介绍

每个Git版本控制系统的主机中,都可以包含若干个本地版本库,一般情况下一个本地版本库对应一个项目,用于对某个特定项目中的本地文件进行版本管理。其实,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除等操作Git都能跟踪到,以便任何时刻都可以追踪历史,或者在将来某个时刻可以进行“还原”。

Git中版本库又名仓库,英文名Repository,使用命令git init来创建并初始化一个本地版本库。

初始化后,在当前目录下会出现一个名为.git的目录,所有Git需要的数据和资源都存放在这个目录中。包括暂存区文件,版本记录文件,配置文件等。换句话说,如果你想从项目中删除Git的版本控制,但又要保留项目原文件,那么只需要将这个.git目录删除即可。这样话,这个项目就与Git没有任何关系。

2、创建本地版本库

在日常工作当中,创建Git本地版本库的场景有两种。

场景一:创建一个空的本地版本库。

介绍:

这种情况是项目还没有代码,需要先创建一个Git本地版本库的时候。

在你专门存放Git版本库的文件夹中,执行git init your_project(项目名),这个时候Git会在当前路径下,创建一个和项目名称同名的文件夹,这个文件夹就是一个Git的裸仓库,里面的会有一个隐藏的.git文件夹。

要进行开发的时候,只要进入到这个文件夹里面就可以了。

步骤:

直接用Git管理新建的项目

  1. 进入到Git本地版本库管理目录git-repository
  2. 查看目录内容。
  3. 执行$ git init your_project ,创建Git本地版本库。
  4. 查看Git本地版本库是否创建。
  5. 进入到刚刚创建的Git本地版本库。
  6. 查看Git本地版本库中的内容。
  7. 进入.git目录,进行查看。

演示:

说明

  • 当我们执行完$ git init first_git_repo命令之后,会出现下面一行提示。

    Initialized empty Git repository in J:/git-repository/first_git_repo/.git/

    意思是:初始化一个空的Git仓库,然后是仓库的路径。
  • .git目录:这个文件夹是Git的核心内容,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。这个文件夹以后我们会详细的讲解。
  • 后面显示(master)表示默认创建了master主分支。

提示:

  • 我们也可以在git-repository目录中,先通过mkdir first_git_repo,创建一个仓库目录,然后在进入这个目录中,执行git init命令,和上边是一样的,这里就不演示了。
  • 如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

场景二:项目中已存在文件时,创建该项目的本地版本库。

介绍:

这种情况就是在创建仓库之前,项目中已经有一些代码文件了。换种方式说,在本地创建Git仓库,把代码纳入到Git管理中,提交到 GitHub。

针对这种情况,我们只需要进入到已有的项目代码所在的文件夹,然后执行git init命令就可以了。

步骤:

把已有的项目文件的目录纳入Git管理

  1. second_git_repo目录是一个已有文件的项目目录。
  2. 进入second_git_repo目录,查看内容。
  3. 执行git init命令,把该目录纳入Git管理。
  4. 该目录纳入Git管理后,查看目录以有.git目录。
  5. 进入.git目录,进行查看。

演示:

以上就是Git在本地创建版本库常用的两种情况。

场景三:在GitHub网站上创建仓库,克隆到本地。

1、进入GitHub网站,点击右上角的加号,选择穿件仓库。

2、进入到创建Git仓库页面。

  • Public:公有的,就是大家谁都能看得到的仓库,也能下载你仓库中的代码。
  • Private:私有的,你可以选择让谁看到,需要花钱

其他的不用管直接点击创建(Create repository)。

3、查看创建的仓库,选择认证方式。

会有一个仓库列表,点击你刚刚创建的仓库。

https和ssh验证方式的区别
https基于用户名密码的验证方式。
SSh基于公钥私钥的验证方式(sshkey的方式),之前讲过。

4、克隆仓库到本地

进入到你想克隆的位置的文件夹中。

执行git clone + 远程仓库路径

查看git-repository-temp目录中,已经clone出GitHub上创建的仓库了。

进入clone到本地的项目TestNG中查看。

里边也有.git文件夹,说明也被Git管理。

以上就是三种创建Git的形式。

『现学现忘』Git基础 — 8、Git创建本地版本库的更多相关文章

  1. Git学习(1)-本地版本库的创建

    我用的是Git-2.14.3-64-bit版本,在windows64位上运行的,把软件分享下链接:http://pan.baidu.com/s/1jIoZ7Xc 密码:13q2. 安装及配置自行百度, ...

  2. 安装git,创建本地版本库

    安装 由于我使用的是Ubuntu,因此安装很简单,输入:sudo apt-get install git 如果是其他Linux版本,可以直接通过源码安装.先从Git官网下载源码,然后解压,依次输入:. ...

  3. Git创建本地版本库

    什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...

  4. 『现学现忘』Docker基础 — 41、将本地镜像推送到阿里云

    目录 1.准备工作 2.阿里云容器镜像仓库的使用 (1)创建命名空间 (2)创建容器镜像 (3)查看阿里云镜像仓库的信息 3.将本地Docker镜像推送到阿里云 (1)登陆阿里云 (2)给镜像生成版本 ...

  5. 『现学现忘』Git基础 — 13、Git的基础操作

    目录 1.Git最基础的使用方式 (1)初始化本地版本库 (2)查看文件的状态 (3)把文件添加到暂存区 (4)把暂存区的内容提交到本地版本库 2.总结本文用到的Git命令 1.Git最基础的使用方式 ...

  6. 『现学现忘』Git基础 — 18、Git对象的总结

    目录 1.Git操作最基本的流程 2.工作目录中文件的状态 3.Git效率说明 提示:前面三篇文章已经分别的对blob对象.tree对象.commit对象进行了详细的说明,这篇文章我们总结一下,Git ...

  7. 『现学现忘』Git对象 — 16、Tree对象详解

    目录 1.Tree对象介绍 2.Tree对象说明 (1)初始化一个新的本地版本库 (2)创建一个树对象(重点) (3)创建第二个文件(重点) (4)将第一个树对象加入暂存区,使其成为新的树对 3.总结 ...

  8. 『现学现忘』Git基础 — 21、git diff命令

    目录 1.git diff 命令说明 2.比较工作区与暂存区中文件的差别 3.比较暂存区与本地库中文件的差别 4.总结git diff命令常见用法 5.总结 1.git diff 命令说明 在comm ...

  9. 『现学现忘』Git基础 — 22、Git中文件重命名

    目录 1.用学过的命令进行文件重命名 2.使用git mv命令进行文件重命名 我们这篇文章来说说在Git中如何进行文件重命名. 提示一下,下面所说明的是对已经被Git管理的文件进行重命名,未被Git追 ...

随机推荐

  1. HTTP 错误 500.21 - Internal Server Error 解决方案【转】

    HTTP 错误 500.21 - Internal Server Error 解决方案:  今天在测试网站的时候,在浏览器中输入http://localhost/时,发生如下错误: HTTP Erro ...

  2. unable to resolve class XXX

    > Task :HelloWorld_Web:compileGroovy startup failed: E:\GradleDemoManyModules\ExampleHelloWorld\H ...

  3. 爬虫-数据解析-xpath

    xpath 解析 模块安装 : pip install lxml xpath的解析原理 实例化一个etree类型的对象,且将页面源码数据加载到该对象中 需要调用该对象的xpath方法结合着不同形式的x ...

  4. 惯性传感器(IMU)

    近两年来,车联网.自动驾驶.无人驾驶.汽车智能化.网联化等成为了汽车行业的热点话题,未来汽车一定是朝着安全.可靠及舒适的方向发展.而这一切背后的发展都离不开传感器的作用,今天我们就来聊聊用途越来越广的 ...

  5. IdentityServer4系列 | 混合模式

    一.前言 在上一篇关于授权码模式中, 已经介绍了关于授权码的基本内容,认识到这是一个拥有更为安全的机制,但这个仍然存在局限,虽然在文中我们说到通过后端的方式去获取token,这种由web服务器和授权服 ...

  6. js常用的函数库

    阻止冒泡.默认行为.事件捕获 /* funname preventEventPropagation * desc 阻止冒泡事件&阻止默认行为&阻止事件捕获 * params {name ...

  7. js 获取和设置css3 属性值的实现方法

    众多周知 CSS3 增加了很多属性,在读写的时候就没有原先那么方便了. 如:<div style="left:100px"></div> 只考虑行间样式的话 ...

  8. CSRF浅析

    概念 CSRF,Cross Site Request Forgery,跨站请求伪造. 为什么跨站的请求需要伪造? 因为浏览器实现了同源策略,这里可以将站和源视为同一个概念. 同源策略 The same ...

  9. es6-Set与Map

    se5中的set与map 在est5中开发者使用对象属性来模拟.set多用于检查键的存在,map多用于提取数据. { let set = Object.create(null) set.foo = t ...

  10. c++字符串替换

    #include <string> #include <iostream> using namespace std; string m_replace(string strSr ...