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,只是零星大致地了解一点,所以找时间系统 ...
随机推荐
- 使用Visual Studio Code进行MicroPython编程
转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 Visual Studio Code(以下简称VSC ...
- php实现redis锁机制
<?php class Redis_lock { public static function getRedis() { $redis = new redis(); $redis->con ...
- Linux服务器使用Docker部署.net Core项目
发布ASP.NET Core项目 和普通的项目发布一样,将项目发布到目标文件夹中 构建Dockerfile文件 在目标文件根目录新建Dockerfile文件(没有后缀) FROM microsoft/ ...
- ASP.NET第一次访问慢的解决方法(MVC,Web Api)
问题现象 访问asp.net web项目的时候,第一次访问比较慢,当闲置一段时间后,再次访问还是会非常慢. 问题原因 这是IIS回收造成的,再次访问的时候会初始化操作,初始化需要耗费时间,所以访问会比 ...
- 小白开学Asp.Net Core 《六》
小白开学Asp.Net Core <六> —— 探究.Net Core 跨平台的奥秘 1.写这篇文章的初衷 有好多朋友反馈看不懂我写的开源的一个练手项目(GitHub:https://gi ...
- pod update更新error: RPC failed; curl 18 transfer closed with outstanding read data remaining
1. pod update 的时候出现下边的错误 error: RPC failed; curl 18 transfer closed with outstanding read data remai ...
- os.path.join用法
os.path.join()函数:连接两个或更多的路径名组件 1.如果各组件名首字母不包含’/’,则函数会自动加上 2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃 3.如果最后一个组 ...
- kuangbin专题 专题一 简单搜索 Fliptile POJ - 3279
题目链接:https://vjudge.net/problem/POJ-3279 题意:格子有两面,1表示黑色格子,0表示白色格子,奶牛每次可以踩一个格子,踩到的格子和它周围的上下左右格子都会翻面,也 ...
- 7.秋招复习简单整理之请你讲讲 Statement 和 PreparedStatement 的区别?哪个性能更好?
Statement和PreparedStatement都是数据库用于执行SQL语句的句柄,但是PreparedStatement代表一个预编译的SQL. 以下是PreparedStatement和St ...
- netty实现的RPC框架
自己手撸了一个nettyRPC框架,希望在这里给有兴趣的同学们做个参考. 要想实现nettyrpc需要了解的技术要点如下: spring的自定义注解.spring的bean的有关初始化. 反射和动态代 ...