『现学现忘』Git基础 — 8、Git创建本地版本库
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管理新建的项目
- 进入到Git本地版本库管理目录
git-repository。 - 查看目录内容。
- 执行
$ git init your_project,创建Git本地版本库。 - 查看Git本地版本库是否创建。
- 进入到刚刚创建的Git本地版本库。
- 查看Git本地版本库中的内容。
- 进入
.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管理
second_git_repo目录是一个已有文件的项目目录。- 进入
second_git_repo目录,查看内容。 - 执行
git init命令,把该目录纳入Git管理。 - 该目录纳入Git管理后,查看目录以有
.git目录。 - 进入
.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创建本地版本库的更多相关文章
- Git学习(1)-本地版本库的创建
我用的是Git-2.14.3-64-bit版本,在windows64位上运行的,把软件分享下链接:http://pan.baidu.com/s/1jIoZ7Xc 密码:13q2. 安装及配置自行百度, ...
- 安装git,创建本地版本库
安装 由于我使用的是Ubuntu,因此安装很简单,输入:sudo apt-get install git 如果是其他Linux版本,可以直接通过源码安装.先从Git官网下载源码,然后解压,依次输入:. ...
- Git创建本地版本库
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...
- 『现学现忘』Docker基础 — 41、将本地镜像推送到阿里云
目录 1.准备工作 2.阿里云容器镜像仓库的使用 (1)创建命名空间 (2)创建容器镜像 (3)查看阿里云镜像仓库的信息 3.将本地Docker镜像推送到阿里云 (1)登陆阿里云 (2)给镜像生成版本 ...
- 『现学现忘』Git基础 — 13、Git的基础操作
目录 1.Git最基础的使用方式 (1)初始化本地版本库 (2)查看文件的状态 (3)把文件添加到暂存区 (4)把暂存区的内容提交到本地版本库 2.总结本文用到的Git命令 1.Git最基础的使用方式 ...
- 『现学现忘』Git基础 — 18、Git对象的总结
目录 1.Git操作最基本的流程 2.工作目录中文件的状态 3.Git效率说明 提示:前面三篇文章已经分别的对blob对象.tree对象.commit对象进行了详细的说明,这篇文章我们总结一下,Git ...
- 『现学现忘』Git对象 — 16、Tree对象详解
目录 1.Tree对象介绍 2.Tree对象说明 (1)初始化一个新的本地版本库 (2)创建一个树对象(重点) (3)创建第二个文件(重点) (4)将第一个树对象加入暂存区,使其成为新的树对 3.总结 ...
- 『现学现忘』Git基础 — 21、git diff命令
目录 1.git diff 命令说明 2.比较工作区与暂存区中文件的差别 3.比较暂存区与本地库中文件的差别 4.总结git diff命令常见用法 5.总结 1.git diff 命令说明 在comm ...
- 『现学现忘』Git基础 — 22、Git中文件重命名
目录 1.用学过的命令进行文件重命名 2.使用git mv命令进行文件重命名 我们这篇文章来说说在Git中如何进行文件重命名. 提示一下,下面所说明的是对已经被Git管理的文件进行重命名,未被Git追 ...
随机推荐
- [实验吧](web)因缺思厅的绕过 源码审计绕过
0x00 直接看源码吧 早上写了个注入fuzz的脚本,无聊回到实验吧的题目进行测试,发现了这道题 地址:http://ctf5.shiyanbar.com/web/pcat/index.php 分析如 ...
- uoj266[清华集训2016]Alice和Bob又在玩游戏(SG函数)
uoj266[清华集训2016]Alice和Bob又在玩游戏(SG函数) uoj 题解时间 考虑如何求出每棵树(子树)的 $ SG $ . 众所周知一个状态的 $ SG $ 是其后继的 $ mex $ ...
- Java 实现汇总排序
排序在系统中经常能用到,一般可以在数据库做排序,也可以在服务端做排序.在数据库一般使用 order by 排序.而服务端也是使用快排.本期使用汇总排序. 问题 统计销售数据,每个销售员都有对应的部门和 ...
- Spring两种注入方式
1.XML注入 2.标签注入
- jvm-learning-类加载器分类
public class ClassLoaderTest { public static void main(String[] args) { //获取系统类加载器 ClassLoader syste ...
- 对于 GC 方面,在使用 Elasticsearch 时要注意什么?
1.SEE:https://elasticsearch.cn/article/32 2.倒排词典的索引需要常驻内存,无法 GC,需要监控 data node 上 segmentmemory 增长趋势. ...
- redis 使用详解
前戏: 又到了最喜欢的前戏部分,这个前戏可能有点长: Nosql和sql的区别 存储结构与mysql这一种关系型数据库完全不同,nosql存储的是KV形式 应用场景不同,sql支持关系复杂的数据查询, ...
- Netty学习摘记 —— UDP广播事件
本文参考 本篇文章是对<Netty In Action>一书第十三章"使用UDP广播事件"的学习摘记,主要内容为广播应用程序的开发 消息POJO 我们将日志信息封装成名 ...
- Java根路径设置(在获取本地路径时会获取到这个文件夹,,这样就可以专门放配置文件了)
在获取本地路径时会获取到这个文件夹,,这样就可以专门放配置文件了
- SpringAop实现原理及代理模式
Spring Aop的原理 Spring的AOP就是通过动态代理实现的.当为某个Bean或者某些Bean配置切面时,Spring会为其创建代理对象,当调用该对象的某个方法时,实际是调用生成的代理类的对 ...