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 ...
随机推荐
- guns开源项目数据库切换为oracle
本次使用oracle版本 11.2.0.1.0 1.guns-core 修改pom.xml 文件引入oracle驱动 <dependency> <groupId>com.ora ...
- log4j-日志记录小结
log4j.properties配置 ### 以系统输出流的方式按照指定的格式在控制台上输出日志信息 ###log4j.appender.stdout=org.apache.log4j.Console ...
- 20175316盛茂淞 2018-2019-2 《Java程序设计》第6周学习总结
20175316盛茂淞 2018-2019-2 <Java程序设计>第6周学习总结 教材学习内容总结 第7章 内部类与异常类 1.使用 try.catch Java中所有信息都会被打包为对 ...
- IDEA的相关使用-----快捷键
转:https://blog.csdn.net/qq_35091777/article/details/80988165 IntelliJ Idea 常用快捷键列表 Alt+回车 导入包,自动修正Ct ...
- python turtle库
turtle库初步 先看 https://www.cnblogs.com/chy8/p/9448606.html 一 turtle库介绍 turtle乌龟 import turtle from tur ...
- linux系统中使用socket直接发送ARP数据
这个重点是如这样创建socket: sock_send = socket ( PF_PACKET , SOCK_PACKET , htons ( ETH_P_ARP) ) ; 其后所有收发的数据都是 ...
- cookie httpOnly 打勾
在 chrome dev tools 中,通过 Application -> Cookies 可以查看 cookie. 其中有一列表头为`HTTP`,如果其下打勾了,则表明 httpOnly. ...
- ie9 css文件大小限制
使用webpack生成CSS对于一些有趣的定义很有趣.不幸的是,当你拥有一个大型应用程序并且需要IE9支持时,乐趣就会停止,因为IE9会忽略你生成的CSS包中的大于4000个选择器的部分.解决方案是将 ...
- Charles配置抓取HTTPS请求的Android配置
关于android手机在mac版charles上抓不到包这个问题困扰了很久,查阅了很多资料,发现是android7.0系统安全策略问题. Charles抓包正常流程1.在手机上配置证书 点击后:直接在 ...
- xmlhttprequest readyState 属性的五种状态
关于readystate五个状态总结如下: readyState 状态 状态说明(0)未初始化此阶段确认XMLHttpRequest对象是否创建,并为调用open()方法进行未初始化作好准备.值 ...