Git学习(二):Git的初步使用
一、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的初步使用的更多相关文章
- git学习(二) git的文件状态
git的文件状态 用于查看git的状态 git status 用于git文件的删除操作 git rm 如果只是 git rm --cache 仅删除暂存区里的文件: 如果不加--cache 会删除工作 ...
- git学习——<二>git配置文件
一.git所有配置文件 <一>./etc/gitconfig全局配置文件 修改该配置文件,会对所有用户有影响. 使用git config --system来配置该文件 <二>. ...
- git学习——<五>git分支
git学习——<一>git安装 git学习——<二>git配置文件 git学习——<三>git操作 git学习——<四>git版本管理 一.提出问题 今 ...
- Git 笔记二-Git安装与初始配置
git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...
- 【Git学习二】深入了解git checkout命令
检出命令(git checkout)是Git最常用的命令之一,同时也是一个很危险的命令,因为这条命令会重写工作区.检出命令的用法如下: 用法一:git checkout[-q][<commit& ...
- Git 学习之Git 基础(二)
Git 基础 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置: ...
- Git学习二
一.在工作区和暂存区退回 在工作区: $git checkout -- filename 在暂存区: $git reset HEAD filename $git checkout -- filenam ...
- 【git学习二】git基础之git管理本地项目
1.背景 git基础打算分两部分来说,一部分是对于本地项目的管理,第二部分是对于远程代码仓库的操作. git运行本地项目管理包含对于相关文件的追踪,暂存区的比較分析,提交,撤销等功能. ...
- git学习(二):git config命令
不同的git config操作不同的参数文件 git config --global // 配置用户目录下的.gitconfig那文件 git config --system // 配置系统级配置文件 ...
- Git学习记录--git仓库
Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统 ...
随机推荐
- VS让人纠结的Release和网站一键发布
这篇文章不是讲什么知识点,而是开发过程中遇到的问题,一:希望博友看到后知道的给解释一下:二:自己记录一下,下次有时间好好研究一下. 说实话这个问题已经反反复复好几次了,每次都解决不了,都是已另一种方式 ...
- linux如何直接运行python文件
1.首先创建好py文件 touch GetCiscoCpu.py 2. 编写GetCiscoCpu.py vi GetCiscoCpu.py /********************** *本文是用 ...
- Mybatis中的collection和association一关系
collection 一对多和association的多对一关系 学生和班级的一对多的例子 班级类: package com.glj.pojo; import java.io.Serializable ...
- 《周四橄榄球之夜》流媒体视频拆解:Twitch VS Amazon Prime
文 / Phil Cluff 译 / 王月美 原文链接:https://mux.com/blog/thursday-night-football-streaming-technology-showdo ...
- CSS3边框与圆角
1. CSS3 圆角 border-radius 属性 一个最多可指定四个border -*- radius属性的复合属性,这个属性允许你为元素添加圆角边框!语法:border-radius: 1-4 ...
- vue.js打包部署线上
你完成了工程开发,需要部署到外网环境,要进行下面的步骤: 一.首先你要购买一个服务器或者有自己的服务器.我介绍给大家的一个免费的服务器:http://free.3v.do/index.html可以免费 ...
- 超哥的 LINUX 入门大纲
前言 “Linux?听说是一个操作系统,好用吗?” “我也不知道呀,和windows有什么区别?我能在Linux上玩LOL吗” “别提了,我用过Linux,就是黑乎乎一个屏幕,鼠标也不能用,不停地的敲 ...
- django基础知识之定义模板:
定义模板 模板语言包括 变量 标签 { % 代码块 % } 过滤器 注释{# 代码或html #} 变量 语法: {{ variable }} 当模版引擎遇到一个变量,将计算这个变量,然后将结果输出 ...
- c++二分查找
c++二分查找 题目是在一些数字里找出一个数字,并输出他在第几行 代码 + 注释 #include <stdio.h> #include<iostream> using nam ...
- AWS S3 上传文件
一.获取签名的URL 通过后端给的接口拿到已经签名好的文件上传的URL地址 二.读取文件(注:AWS 接受的二进制,不能使用form-data) // 获取文件二进制 getFileMd5 = (ke ...