2.Git基础-仓库的获取方式与Git文件的状态变化周期(生命周期)
1.仓库的获取
Git仓库的获取有两种方式:
1.从现有目录或者是项目中导入所有文件到Git中。
2.从一个服务器clone一个现有的Git仓库。
如果使用第一种方式,只需要在你希望被Git进行管理的项目的根目录下面运行以下Git命令:
$ git init
$ git add .
$ git add README.md
$ git commit -m "Initial project version"
git init : 初始化Git仓库。 该命令会在你当前所在的目录创建一个.git文件夹,这个文件夹是Git仓库的骨干。
注意:运行该命令之后,你仅仅只是做了一个初始化的操作,你所在的项目的文件并没有被Git跟踪(track)。如果你是在一个已经存在文件的文件夹(而不是空文件夹)执行了git init命令,你应该开始track这些非空文件夹中的文件。
git add . :将当前所在目录中的所有文件加入到暂存区。
git add README.md : 将README.md文件加入到暂存区。
git commit -m "Initial projrct version" : 将暂存区的文件提交到Git仓库。
执行以上的命令之后,你的项目的所有文件就被Git管理起来了,后面你对项目中的文件的修改都会被Git进行管理。
如果使用第二种方式,使用以下命令即可:
注意:例子中演示的是克隆libgit2这个远程仓库,你可以使用git clone你想要得到的其它远程仓库。这里使用的是https的方式进行克隆,git clone还支持ssh的方式。
$ git clone https://github.com/libgit2/libgit2
git clone :这条命令做了两件事情:
1.在本地初始化一个.git文件夹,然后将远程仓库的所有数据拉取到.git文件夹中;
2.从.git文件夹中读取最新版本的文件,并且拷贝到当前目录。
运行完git clone之后,你的本地目录就存在了与远程仓库一样的项目文件供你使用。
2.Git文件的状态变化周期(生命周期)
你工作目录中的每一个文件都不外乎这两种状态:已追踪(tracked)和未追踪(untracked)。
1.已追踪(tracked):已追踪的文件指的是已经被纳入到版本控制的文件。已追踪的这些文件又可能处于已修改(modified),未修改(unmodified),已暂存(staged)的状态。
当你克隆了一个远程仓库到本地的时候,工作目录中所有的文件都是已追踪的文件,而且都是处于未修改的状态。
2.未追踪(untracked):未追踪的文件表示不被纳入版本控制的文件,除了已追踪的文件之外所有的文件都是未追踪文件。例如当你克隆了一个项目到本地之后,你在本地的项目中新添加了一个文件,那么这个文件就是未追踪的状态。
Git文件的状态变化周期(生命周期)参考下图:

1.未追踪的文件(Untracked)在 git add 之后会变成已暂存(staged)状态。
2.未修改的文件(Unmodified)在被修改编辑之后会变成已修改(modified)状态。
3.已修改(modified)的文件在 git add之后会变成已暂存(staged)状态。
4.已暂存的文件(staged)在 git commit 之后会变成未修改(Unmodified)状态。
5.未修改的文件(Unmodified)在 git rm 之后会变成未跟踪(Untracked)状态(注意git rm会删除掉指定的文件)。
2.Git基础-仓库的获取方式与Git文件的状态变化周期(生命周期)的更多相关文章
- git 远程仓库版本的回退以及git reset 几种常用方式记录
由于 github push 了两个比较潦草的commit, 自己很不满意,又不想重新开vpn进行上传,所以找了一下相关的教程. 最后研究了一下,原理为先在本地还原到你想要的commit,然后强制pu ...
- Android学习之基础知识四-Activity活动6讲(体验Activity的生命周期)
一.体验活动的生命周期的执行 代码组成: 1.三个Java类:MainActivity.java.NormalActivity.java.DialogActivity.java 2.三个布局文件:ac ...
- Git 基础(分布式版本控制系统)
1.Git 简史 自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标.它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统. 2.Git 基 ...
- Git 基础 —— 常见使用场景
Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 突然插入 Bugifx 工作, ...
- GitHub进阶之利用Git远程仓库篇
#在上一篇文章,相信大家对GitHub已经有了一个基础的理解 接下来我们来学习一下如何利用git来远程仓库 一,git是什么 git:一个免费的开源版本控制软件 用途:利用Git管理GitHub上的代 ...
- git基础知识
Git的两大功能 1.协作开发 2.版本控制 版本库 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都 ...
- git创建仓库
创建仓库 git init: Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令. ...
- Git 创建仓库【转】
转自:http://www.runoob.com/git/git-create-repository.html Git 创建仓库 本章节我们将为大家介绍如何创建一个 Git 仓库. 你可以使用一个已经 ...
- Git如何克隆Gitlab?Git本地仓库如何上传Gitlab?
首先确保本机已经安装上Git,其次确认可以正常访问Gitlab服务器 环境: Git:Centos 7.x 192.168.126.138 Gitlab: Centos7.x 192.168.126 ...
随机推荐
- 从mysql主从复制到微信开源的phxsql
严格的来说,微信开源的phxsql不是数据库,而是一个数据库的插件: 传统的互联网数据库结构一般是这样的: 服务访问数据库是通过分片来的: 除了这种基于hash的分片,还有一种基于range的分片方式 ...
- oracle service name sid , 用户 和 表空间
oracle 的四个概念: 数据库: 就是一堆静态的数据文件.注意是静态的 instance 实例: 可以类比数据库连接. 实例就是为了操作数据库而开辟的进程和内存空间,有了这个实例你才能操作数据库. ...
- super()调用父类构造方法
super()表示调用父类中的构造方法 1.子类继承父类,子类的构造方法的第一行,系统会默认编写super(),在调用子类的构造方法时,先调用父类的无参数构造方法 2.如果父类中只有有参数构造方法,那 ...
- Python学习——1
我是一名刚入IT行业的小白,目前主要是做网络运维这一块.曾经总是认为我是做网络运维的,学习代码干啥啊?后来就慢慢发现,传统的运维方式让我的效率好像不如别人效率高,关键还TM看别人比我更轻松.每一个网络 ...
- java之路 把1到100之间的数的偶数相加
/** *把1到100之间的数的偶数相加 */ class Demo{ public static void main(String[] args){ int i =1; int sum = 0; d ...
- ibatis中的resultMap
优点: resultMap可以实现一种功能 当你是1对多 这种多张表查询的时候 你没办法 通过表连接来实现一个集合设置到一个实例里,但是通过resultMap里可以做到 根据关联的字段 查询到一个集合 ...
- Git的安装和使用
在CentOS 6.x/7.x上安装git及最新版 方式一.yum安装 # yum install git 通过yum方式安装,版本比较旧,CentOS6.5上安装好是1.7.1版.如果想安装最新版或 ...
- wx支付
开通微信商户号且开通微信公众平台微信支付功能 104680c86fd352725be198b02dc8258b 微信公众号和微信商户平台在微信支付中扮演的角色,公众号是我们在网页要进行支付的场所, ...
- RabbitMq相关
RabbitMq 通过通过IP,Port等参数创建connection对象,然后实际上通信用的是channel,channel的建立基于connection RPC 调用: RPCClient通过ch ...
- IT行业三大定律
1:摩尔定律 该定律由Inter公司创始人戈登摩尔提出,摩尔定律指出:每一年半计算机等IT产品的性能会翻一番:或者说相同性能的产品在一年半后价格会降一半. 表现为:为适应摩尔定律,IT公司必须在较 ...