1.几个概念

(1)工作区指当前编辑代码的地方,是.git仓库所在的文件夹。

(2)暂存区是一个概念,并不存在这个区。

(3)仓库是.git文件夹,是运行git init命令时自动创建的,默认是隐藏的,所有历史都在这。

2.查看状态

$git status可用来查看状态,git会把文件的变化列出来,如未跟踪的文件、已修改的文件、已删除的文件、将被提交的文件列表等,良好的习惯是在操作文件前先查询状态。

3.跟踪文件

$git add 文件名

刚初始化后的仓库是空的,执行上述命令可使文件被git跟踪,此文件就进入暂存区,git不会跟踪空文件夹。

4.忽略文件

忽略文件是指让git不跟踪这些文件。如临时文件、日志文件,可通过composer、node、mave拉取的第三方包等,这些文件没有跟踪的必要。git会递归查找项目中每个目录是否存在“.gitignore”文件,可以在这个文件里声明一些忽略规则,git就会忽略这些文件。

注:.gitignore本身不能被忽略,需要被跟踪。($git add .gitignore)(windows下不能创建.gitignore文件名的文件,可以将文件夹拖进sublime中编辑创建)

忽略规则有:

图1

更多规则可到网上查询。

5.提交

提交之前先配置好user.name和user.email两个配置项。

配置规则:电脑是自己使用就全局配置,否则本地配置。

全局配置:

本地配置(不使用--local默认也是--local):

提交是指把暂存区的文件提交到git仓库,可通过以下命令行执行。同时提交也是名词,在git中一个提交就是一个历史,每个提交都有一个唯一的id:

也可$git commit进入vim编辑器(i进入insert模式,:wq为保存提交)

6.查看提交

即查看提交的日志:$git log,

$git  log –-oneline(单行显示模式更简洁,id也变短了但与原来的长id有相同功能,能进行某些操作)。

7.检出文件

指从提交中拿出一个文件到工作区,如当想放弃某个文件的修改时,可这样做。

若改着README.md不想改了,可从历史中检出这个文件覆盖到当前工作区(从最近的一次提交中检出)。

指定提交id,指定从这次提交中检出(提交id可运行$git  log –-oneline查看):

8.远程仓库

远程仓库提供商很多,最著名的是github。

git的使用(二)的更多相关文章

  1. 小丁带你走进git的世界二-工作区暂存区分支

    小丁带你走进git的世界二-工作区暂存区分支 一.Git基本工作流程 1.初始化一个仓库 git  init git  clone git仓库分为两种情况: 第一种是在现有项目或目录下导入所有文件到 ...

  2. Git系列教程二 基础介绍

    一.存储方式 如果让我们设计一个版本控制系统,最简单的方式就是每做一次更改就生成一个新的文件. 这样的方式太占用空间,所以传统的版本控制系统都是保存一个文件的某个版本的全部内容以及其他版本相对于这个版 ...

  3. Git学习(二)——创建版本库、查看与回退版本

    一.创建版本库 版本库,又名仓库(Repository),可以简单理解为一个目录,这个目录里的所有文件可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者将来某 ...

  4. git入门学习(二):新建分支/上传代码/删除分支

    一.git新建分支,上传代码到新的不同分支  我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有we ...

  5. git 使用笔记(二)

    续 2.15 删除文件 $ rm testDel.txt删除掉工作区的testDel.txt文件, 1)这时可以通过git checkout -- testDel.txt从版本库恢复该文件到工作区 2 ...

  6. git 使用(二)

    之前写过一篇git使用(一),那是入门篇,现在的(二)可以说是进阶篇吧,主要讲一些使用过程的注意事件及相关问题的解决办法. 一.push和fetch还需要输入用户名和密码? 解决办法:看看公玥是否添加 ...

  7. 开发团队在TFS中使用Git Repository (二)

    使用Git作分支时,仅仅是对提交历史记录的一个引用,创建分支成本非常低,分支的切换快且简单.在分支管理方面,相对其他的版本管理工具,Git可谓是一骑绝尘. 开发过程中,我们可以针对任何的大小功能进行分 ...

  8. Git知识总览(二) git常用命令概览

    上篇博客我们从 git clone 和 git status 两个命令开始,引出了一系列的git操作命令, 请参见:<Git知识总览(一) 从 git clone 和 git status 谈起 ...

  9. Git从零开始(二)

    前面提交了一个test1.txt文件,接下来看看这个文件接下来的命运. 一.继续修改并提交 在test1.txt中修改后, git status 查看git的状态, 会提示我们文件test1.txt被 ...

  10. Git使用之二:下载远程代码到本地指定文件夹

    一.前期工作: 1.准备好本地的文件夹 2.如果后期需要继续以该文件夹进行同步的,则需要配置该文件夹,方法请参考之前的  Git使用之一:创建仓储和提交文件 二.用clone(克隆方式下载) 在本地下 ...

随机推荐

  1. IDEA默认常用快捷键

    作为Java的利器,IDEA属实是非常好用,参考网文总结其常用快捷键如下: Ctrl + /(Ctrl + Shift + /):注释或反注释指定的语句.这个是本人最喜欢的,所以排在第一位. Ctrl ...

  2. 【学习整理】NOIP涉及的数论 [updating]

    扩展欧几里得 求二元一次不定式方程 的一组解. int exgcd(int a,int b,int &x,int &y) { int t; ;y=;return a;} t=exgcd ...

  3. 平衡二叉树---Shaolin

    Description Shaolin temple is very famous for its Kongfu monks.A lot of young men go to Shaolin temp ...

  4. 机器学习实战 - 读书笔记(06) – SVM支持向量机

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第6章:SVM 支持向量机. 支持向量机不是很好被理解,主要是因为里面涉及到了许多数学知 ...

  5. sqlite3之基本操作(二)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.S ...

  6. 【Effective Java】2、构造参数过多的时候

    package cn.xf.cp.ch02.item2; /** * * 功能:当我们的构造参数有很多,超出可控范围的时候,用build模式 时间:下午8:25:05 文件:NutritionFact ...

  7. 【iOS】通知监听

    下例为:监听文本框  accountField  内容的改变, 当发生改变时, 调用textChange方法(多次).监听结束需要移除通知. - (void)viewDidLoad { [super ...

  8. QTimer太让人失望了,一秒触发一次事件都不准确。。

    今天做项目中,我用QTimer来模拟数据生成,在另外的设备上接受.另外设备上有时1秒读不到数据,查询原因很久,终于发现是QTimer的问题. 测试代码如下 有兴趣同学可以自己试试. t = new Q ...

  9. winform 属性

    WinForm为客户端程序必须在.NET Framework框架上运行 一.常用属性: 布局: AutoScroll:当控件内容超出可见区域是否显示滚动条: Autosize:当控件内容有超出时是否自 ...

  10. ADO.NET 实体类和数据访问类

    SQL数据库字符串注入攻击:需要使用cmd.Parameters这个集合占位符: @key 代表这个位置用这个占位符占住了 Parameters这个集合中将此占位符所代表的数据补全 cmd.Param ...