一、Git的最小配置

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

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

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

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

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

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

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

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

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

$git config --list --local
$git config --list --global
$git config --list --system

二、创建Git仓库

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

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

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

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

$cd 建立项目的文件夹
$git init your_project (会在当前路径下创建和项目名称同名的文件夹)
$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文件中末位处。

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

    

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

    

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

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

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

    

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

    5)对文件进行重命名  

$git mv filename1 filename2

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

    

    

四、Gig Log的使用

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

git log --all  查看所有分支的历史
git log --all --graph 查看所有分支的图形化历史
git log --oneline 查看分支的简洁历史
git log -n2 查看最近的2条历史
以上命令可根据需要进行自由组合,其他更多的命令细节可调用git log的网页帮助文档命令
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 Power Tool 代码生成器 反向生成

    大致来说,这个工具有这样几个功能: 1) 按照现有数据库结构,生成Code First POCO class.DbContext class和相应的mapping class. 2) 以designe ...

  2. 函数式编程里的Materialization应该翻译成什么?

    Materialization是函数式编程里的一个专业术语, 用于特指函数式编程中查询被实际执行并生成结果的这一过程. 首先, 搜了一下中文资料, 暂时没有对该词的中文翻译,  CSDN\博客园\阿里 ...

  3. 【转】解决Nginx php-fpm配置有误引起的502错误

    转自:https://www.centos.bz/2017/07/nginx-php-fpm-502-error/ 在Ubuntu+Nginx+PHP环境下部署好以后,访问网站报错502,在后台ngi ...

  4. OpenDaylight即将迈入“七年之痒”?

    前段时间看到一篇文章,叫<OpenStack已死?>,讲述了OpenStack自2010年提出之后的9年间各方利益牵扯导致的一系列问题,尽管最终作者的结论是OpenStack现在只是进入了 ...

  5. 常用的HTTP状态代码(4xx、5xx)详解

    HTTP状态代码常用的如下: 400 无法解析此请求. 401.1 未经授权:访问由于凭据无效被拒绝. 401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法而被拒绝. 401.3 未经授 ...

  6. GitLab通过API创建项目

    示例: #!/usr/bin/python # -*- coding:utf-8 -*- import os import json import requests import subprocess ...

  7. C# 异步转同步 TaskCompletionSource

    本文通过TaskCompletionSource,实现异步转同步 首先有一个异步方法,如下异步任务延时2秒后,返回一个结果 private static async Task<string> ...

  8. JavaScript的数据类型及其检测

    一.什么是数据类型 1.基本类型 值是不可改变的 var name = 'java'; name.toUpperCase(); // 输出 'JAVA' console.log(name); // 输 ...

  9. python多线程爬取图片二

    上一篇的多线程是使用类创建的,这一次使用函数创建多线程,还是同一个网站https://www.quanjing.com/category/1286521/1.html, 代码如下: # 多线程,自动创 ...

  10. vux loadmore + axios 实现点击加载更多

    在微信项目中有应用过几个上拉加载更多的组件,但总会出现一些兼容性方面的bug,需要各种补漏(注:组件都是基于iscroll实现的, iscroll原本就有些坑).Vux也有提供Scroller组件实现 ...