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,只是零星大致地了解一点,所以找时间系统 ...
随机推荐
- 【原创】ABAP根据文件路径获取文件所在目录(续)
在上一篇文章<ABAP根据文件路径获取文件所在目录>中,我主要的思路是采用 “SPLIT dobj AT sep INTO TABLE result_tab” 句型将文件全路径按分隔符“\ ...
- hadoop之hive基本操作
-- 清空表中的数据,保留表结构 truncate table tmp_userid; '); -- 搜索库或表支持正则表达式 show tables 'sa*'; show tables in ba ...
- ElasticSearch2.3.1环境搭建哪些不为人知的坑
首先说明一点,大家最好不要用什么尝鲜版,用比稳定版就好了,要不麻烦不断,另外出了问题,最好去官网,或者google搜索,因为这样靠谱些,要不现在好多都是低版本的,1.4的什么的,结果按照安装,多少情况 ...
- 七、Linux磁盘管理及LVM讲解
1.硬盘接口 IDE:家用产品,也部分应用于服务器 SATA:一般使用 SCSI:服务器市场 SAS:高端服务器上,价格昂贵 2.硬盘种类 SATA硬盘: SCSI硬盘: SAS硬盘: 3.分区 ...
- 系列教程 - java web开发
代码之间工作室持续推出Java Web开发系列教程与案例,供广大朋友分享交流技术经验,帮助喜欢java的朋友们学习进步: java web 开发教程(1) - 开发环境搭建 技术交流QQ群: 商务合作 ...
- 跟我学SpringCloud | 第一篇:介绍
首先讲一下我为什么要写这一系列的文章,现在网上大量的springcloud相关的文章,使用的springboot和springcloud的版本都相对比较老,很多还是在使用springboot1.x的版 ...
- Codeforces Round #563 (Div. 2)A
A. Ehab Fails to Be Thanos 题目链接:http://codeforces.com/contest/1174/problem/A 题目 You’re given an arra ...
- vue随笔
1.vue基础 Vue 是一个mvvm 的渐进式框架.Angular 是一个mvc的.所以vue的重点更偏向于mv 他的使用方式 大家会发现里面带有大量的$的属性. 学习vue的指令 V-for 用 ...
- kali Linux渗透测试技术详解
kali Linux渗透测试技术详解 下载:https://pan.baidu.com/s/1g7dTFfzFRtPDmMiEsrZDkQ 提取码:p23d <Kali Linux渗透测试技术详 ...
- 装饰器&递归
装饰器 1.开放封闭原则 在源码不改变的情况下,增加一些额外的功能 对扩展是开放的,对修改是封闭的 1.1 开放原则:增加额外新功能 1.2 封闭原则:不要改变源码 2 装饰器 满足开放封闭原则, ...