一、Git的最小配置

  1、使用如下命令创建Git的用户名和邮箱,如下所示: 

  1. $git config --global user.name 'your_name'
  2. $git config --global user.email 'your_email'

  使用如下命令清除创建的用户名和邮箱,如下所示:

  1. $git config --unset --global user.name
  2. $git config --unset --global user.email

  2、在global的位置处,分为有三种参数:local、global、system,现分别介绍如下:

    1)local:默认参数,该参数只对某个仓库有效;

    2)global:该参数对当前用户的所有仓库有效,在使用时也通常设置此值参数;

    3)system:对系统所有登录的用户有效,一般很少用;

  3、对于仓库配置的查看,有如下命令:

  1. $git config --list --local
  2. $git config --list --global
  3. $git config --list --system

二、创建Git仓库

  1、对于Git管理代码有两种场景:

    1)把已有代码纳入Git管理

  1. $cd 项目所在的文件目录
  2. $git init

    2)新建立的项目,直接使用Git进行管理

  1. $cd 建立项目的文件夹
  2. $git init your_project (会在当前路径下创建和项目名称同名的文件夹)
  3. $cd your_project

  2、新建项目的操作

    1)首先创建一个文件夹,取名为GitLearning;

    2)然后进入该文件夹

    

    3)创建一个git_test的仓库

    

    注意:如果此时对当前仓库又设置了local的username、useremail,那么在向仓库提交文件时,会优先以local的用户名进行提交。由此可知,local的优先权要高于global的。三个可选项的优先级顺序:local>global>system

    4)向Git提交资源

     登录到git_test当前目录下,我们从其他目录中将一个文件copy到当前目录,如下图所示:

    

    5)将copy过来的文件向Git申请管控,通过查看Git的状态会发现相应的文件已经在Git的暂存区当中。

    

    6)向Git进行相应文件的提交,同时写好提交备注。红框当中是此次提交产生的commit号。

    

    

三、Git使用习惯的养成

  1、 Git提交步骤的设计

  

  在上图中可以看出,在工作目录中操作的文件,可以向暂存区中提交,此时仅仅是暂存。那暂存区此时其实已经是对文件进行了Git管理,但还不是正式的版本提交管理。

  比如,当你在写一个算法的类文件时,完成了一种A算法的实现,但是有可能还有另外一种可能更好的B算法实现。此时,你可以将现在完成的A算法添加到暂存区,当你实现了B算法方案后,发现还是A算法好,你可以从暂存区中将A算法覆盖掉B算法。

  2、基于Git设计进行文件管理实操,对四个文件资源进行操作,分别是index.html,images文件夹,styles文件夹,js文件夹。

    1)首先从源目录中将资源拷贝到Git仓库目录下,添加images文件夹及index.html页面。

    

    我们将一个html页面和一个包括资源文件夹copy到仓库目录下,同时查看了git的状态,发现对这两个资源并没有跟踪,然后我们将两个资源添加到暂存区中。

    注意:git add ***1 ***2...,表示添加多个文件或文件夹到暂存区;git add --all或git add -A,表示一次把所有Git追踪到的文件放入暂存区。两者可达到同样目的。

     

    通过命令ls可以查看到当前仓库下面新增加的文件夹和文件。

    2)添加style.css文件至Git仓库中。

    

    3)添加js文件至Git仓库中。

    

    通过上图中的日志可以发现,对示例资源文件的操作过程有一个清晰的记录。

    4)修改已由Git管理的文件

    将下述代码复制到index.html文件中末位处。

  1. <footer>
  2. <p>
  3. <a href="https://github.com/TTN-js/unforGITtable"> 参考项目 01</a>
  4. </p>
  5. </footer>

    

    查看Git的状态,会发现相应被跟踪的文件已被修改,如下图所示:

    

    对于修改后的文件添加到Git暂存区中。

    注意:对于已由Git跟踪的文件,若修改后添加,用git add -u,当然如果不愿意加-u,可以使用git add . 也是可以达到目的的。

    如果有新增的文件和已经跟踪文件的变量均需要添加到暂存区,可以直接执行git add -A或git add .

    

    最后再次对修改后的文件进行 git commit -m '修改说明' 操作,以提交到Git仓库中。

    5)对文件进行重命名  

  1. $git mv filename1 filename2

    如下图所示,我们将index.html更改为myindex.htm

    

    

四、Gig Log的使用

  1、Log的常用操作命令有:

  1. git log --all 查看所有分支的历史
  2. git log --all --graph 查看所有分支的图形化历史
  3. git log --oneline 查看分支的简洁历史
  4. git log -n2 查看最近的2条历史
  5. 以上命令可根据需要进行自由组合,其他更多的命令细节可调用git log的网页帮助文档命令
  6. git help --web log 跳转到git log的网页版帮助文档

  2、Log的界面化工具

  通过执行gitk命令,可以调出对log管理的界面化工具gitk,如下图所示:

  

  在该工具中,我们可以进行许多关于log的操作,方便对日志的详细信息有一个更全面的了解。

  当然类似对Git操作的工具还有gitkarken、sourcetree、tower等。

  大家可关注我的公众号

   

  知识学习来源:苏玲:《玩转Git三剑客》

Git学习(二):Git的初步使用的更多相关文章

  1. git学习(二) git的文件状态

    git的文件状态 用于查看git的状态 git status 用于git文件的删除操作 git rm 如果只是 git rm --cache 仅删除暂存区里的文件: 如果不加--cache 会删除工作 ...

  2. git学习——<二>git配置文件

    一.git所有配置文件 <一>./etc/gitconfig全局配置文件 修改该配置文件,会对所有用户有影响. 使用git config --system来配置该文件 <二>. ...

  3. git学习——<五>git分支

    git学习——<一>git安装 git学习——<二>git配置文件 git学习——<三>git操作 git学习——<四>git版本管理 一.提出问题 今 ...

  4. Git 笔记二-Git安装与初始配置

    git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...

  5. 【Git学习二】深入了解git checkout命令

    检出命令(git checkout)是Git最常用的命令之一,同时也是一个很危险的命令,因为这条命令会重写工作区.检出命令的用法如下: 用法一:git checkout[-q][<commit& ...

  6. Git 学习之Git 基础(二)

    Git 基础 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置: ...

  7. Git学习二

    一.在工作区和暂存区退回 在工作区: $git checkout -- filename 在暂存区: $git reset HEAD filename $git checkout -- filenam ...

  8. 【git学习二】git基础之git管理本地项目

    1.背景        git基础打算分两部分来说,一部分是对于本地项目的管理,第二部分是对于远程代码仓库的操作. git运行本地项目管理包含对于相关文件的追踪,暂存区的比較分析,提交,撤销等功能. ...

  9. git学习(二):git config命令

    不同的git config操作不同的参数文件 git config --global // 配置用户目录下的.gitconfig那文件 git config --system // 配置系统级配置文件 ...

  10. Git学习记录--git仓库

    Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统 ...

随机推荐

  1. EF 6.0 Code First 迁移MySql数据库

    一.准备工作     使用NUGET安装Entity Framework 6,下载MySql Connector/Net 6.9.5   二.创建实体     我们在下面创建了两个类(博客和文章),并 ...

  2. C语言实现常用排序算法——插入排序

    插入排序是最基础的排序算法,原理: 首先1个元素肯定是有序的,所以插入排序从第二个元素开始遍历:内循环首先请求一个空间保存待插入元素,从当前元素向数组起始位置反向遍历:当发现有大于待插入元素的元素,则 ...

  3. 数组Array

    数组Array是最基本的数据结构,在内存中为一段定长连续内存,很多编程语言都有实现. 一.一维数组 下面代码实现了一维数组和它的遍历. clear并非清空数组,而是采用具体值对数组进行初始化. imp ...

  4. 你必须了解的java内存管理机制(三)-垃圾标记

    本文在个人技术博客不同步发布,详情可用力戳 亦可扫描屏幕右侧二维码关注个人公众号,公众号内有个人联系方式,等你来撩... 相关链接(注:文章讲解JVM以Hotspot虚拟机为例,jdk版本为1.8) ...

  5. 惊:FastThreadLocal吞吐量居然是ThreadLocal的3倍!!!

    说明 接着上次手撕面试题ThreadLocal!!!面试官一听,哎呦不错哦!本文将继续上文的话题,来聊聊FastThreadLocal,目前关于FastThreadLocal的很多文章都有点老有点过时 ...

  6. Sqoop 简介与安装

    一.Sqoop 简介 Sqoop是一个常用的数据迁移工具,主要用于在不同存储系统之间实现数据的导入与导出: 导入数据:从MySQL,Oracle等关系型数据库中导入数据到HDFS.Hive.HBase ...

  7. 【面试】MySQL 中NULL和空值的区别?

    做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 01 小木的故事 作为后台开发,在日常工作中如果要接触Mysql数据库,那么不可避免会遇到Mysql中的NULL和空值.那 ...

  8. 网络IO-阻塞、非阻塞、IO复用、异步

    网络socket输入操作分为两个阶段:等待网络数据到达和将到达内核的数据复制到应用进程缓冲区.对这两个阶段不同的处理方式将网络IO分为不同的模型:IO阻塞模型.非阻塞模型.多路复用和异步IO. 一 阻 ...

  9. MyBatis从入门到精通(八):MyBatis动态Sql之foreach标签的用法

    最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 本篇博客主要讲解如何使用foreach ...

  10. HDU 4462:Scaring the Birds(暴力枚举+状态压缩)

    http://acm.hdu.edu.cn/showproblem.php?pid=4462 题意:有一个n*n的地图,有k个空地可以放稻草人,给出每个空地可以放的稻草人属性,属性中有个R代表这个位置 ...