参考资料:

1. https://www.linux.com/learn/tutorials/796387-beginning-git-and-github-for-linux-users/

2. https://www.howtoforge.com/tutorial/install-git-and-github-on-ubuntu-14.04/

3. https://www.digitalocean.com/community/tutorials/how-to-install-git-on-ubuntu-14-04

4. http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

☢ Ubuntu安装命令:

sudo apt-get install git

☢ 配置:

git config --global user.name "User Name"
git config --global user.email "username@example.com"

☢ 创建repository:

sudo mkdir Pocketin

cd Pocketin

sudo git init

用下边的命令可以看到一个.git的目录,该目录是Git用来跟踪管理版本库的:

ls -ah

用vim创建readme.txt文件,并输入一些内容。

sudo vim readme.txt

添加文件readme.txt到repository中(可以同时add多个文件):

sudo git add readme.txt

提交该文件到repository,“-m”是messge的意思,用以对本次提交进行说明:

sudo git commit -m "Add a readme file for testing."

☢ 提交更改:

当修改或者增删了文件,可以用下边的命令查看repository当前的状态。

sudo git status

用下边的命令“git diff”可以查看被修改文件到底被修改了什么内容:

sudo git diff readme.txt

sudo git add readme.txt

sudo git status

sudo git commit -m "Add distributed."

sudo git status

注意:git add命令是将文件修改添加到暂存区Stage中,而git commit则是将暂存区中的所有内容提交到当前分支。因此,可知GIT管理的是修改,而不是文件。

☢ 版本回滚:

用下边的命令“git log”显示由近至远的提交日志:

sudo git log

使用下边的命令可以简化显示结果,只显示一行信息:

sudo git log --pretty=oneline

GIT的commit id是由SHA1计算出来的一个用十六进制表示的庞大数字。

下边的命令会让你回到上一个版本:

sudo git reset --hard HEAD^

下边的命令会让你回到上上个版本:

sudo git reset --hard HEAD^^

下边这个命令会让你回到上20个版本:

sudo git reset --hard HEAD~

还可以直接用版本号到你制定的版本(版本号可以不用写全):

sudo git reset --hard 2a2e569c9bd589afedc5e3a3c22683c3ca64d7f3

注意:如果你回滚了,在没有关闭当前窗口的情况还是可以回到未来的某个版本的,而一旦你关闭了窗口就不好办了(还是可以回去,下边会提到)。

版本回归只是修改了HEAD指针指向的位置,所以修改起来非常快。

使用下边的命令可以查看命令历史(然后恢复到指定的版本):

sudo git reflog

题外话(关于“--”):A  --  signals the end of options and disables further option processing. Any arguments after the -- are treated as filenames and arguments.  An argument of - is equivalent to --.

☢ 撤销修改:

如果想要回到最近一次git commitgit add时的状态,可以使用下边的命令:

sudo git checkout -- readme.txt

☢ 删除文件:

在Git中,删除也是一个修改操作。你可以通过rm命令直接删除文件,然后在用“git rm”命令从版本库中删除该文件。

sudo git add test.txt

sudo git commit -m "Add test.txt."

sudo rm -f test.txt

从版本库中伤处该文件。

sudo git status
sudo git rm test.txt
sudo commit -m "Remove test.txt."

但是,如果误删了呢?你可以通过“git checkout”命令将文件恢复到最新版本(用版本库里的版本替换工作区的版本)。

sudo git checkout -- test.txt

Linux基础※※※※如何使用Git in Linux(一)的更多相关文章

  1. Linux基础※※※※如何使用Git in Linux(二)

    参考资料: 1. http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 2. Git-简 ...

  2. Linux基础学习(1)--Linux系统简介

    第一章——Linux系统简介 1.UNIX和Linux发展史: 1.1 unix发展史: (1)1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发Mul ...

  3. Linux基础回想(1)——Linux系统概述

    1. 什么是操作系统?它与硬件以及其它软件之间的关系是如何的? 操作系统是控制和管理计算机系统内各种硬件和软件资源.有效组织多道程序执行的系统软件(或程序集合),是用户和计算机之间的接口.详细的说: ...

  4. 大数据学习笔记之Linux基础(一):Linux初窥

    文章目录 一.Linux入门概述 1.1 概述 1.2 下载地址 1.3 Linux特点 1.4 Linux和Windows区别 二.VM安装相关 2.1 安装VMWare虚拟机 2.2 安装Cent ...

  5. linux基础-第十四单元 Linux网络原理及基础设置

    第十四单元 Linux网络原理及基础设置 三种网卡模式图 使用ifconfig命令来维护网络 ifconfig命令的功能 ifconfig命令的用法举例 使用ifup和ifdown命令启动和停止网卡 ...

  6. Linux基础教程(一)——Linux系统简介

    Linux的概述 Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,由于 ...

  7. java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理

    我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...

  8. linux基础内容学习一:linux下的分区及安装

    linux看系统版本信息 uname -a 如果显示为i386,i686则为32位系统,如果为x86_64则为64位 一块硬盘最多可以有四个主分区其中一个主分区可以用一个扩展分区替换,在这个扩展分区中 ...

  9. Linux基础学习(13)--Linux系统管理

    第十三章——Linux系统管理 一.进程管理 1.进程查看: (1)进程简介:进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. (2)进程管理的 ...

随机推荐

  1. java hashMap缓存简单实现

    直接上代码,干货: import java.util.HashMap; import java.util.Map; /** * map缓存 * @author ming * * @param < ...

  2. loadruner报错:Step download timeout(120 seconds)的一个解决方法

    一个网友问了我一个问题如下: loadruner报错:Error -27728: Step download timeout (120 seconds) 如何解决 语 法检查通过,但是在并发执行一个查 ...

  3. 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.6.Dialog控件

    习惯上,我们播放一条简短的信息,或向浏览者询问一个问题,都会用到dialog. 创建一个基本的dialog 使用dialog 选项 形式 启用内置动画 给dialog添加按钮 使用dialog回调函数 ...

  4. Microsoft Office 2013 Product Key

    Microsoft Office 2013 Product Key ( Professional Plus ) PGD67-JN23K-JGVWW-KTHP4-GXR9G B9GN2-DXXQC-9D ...

  5. 2>&1 的用法说明

    经常关注linux脚本的人,一定看到过 2>&1 这样的用法,最初一定不明白其中的含义以及为什么是这样的一种组合.昨天偶然间再次看到了这个 2>&1 的写法,遂下决心搞明白 ...

  6. HDU 1827:Summer Holiday(强连通)

    http://acm.hdu.edu.cn/showproblem.php?pid=1827 思路:强连通分量缩点后找入度为0的点,然后对于属于该强连通分量的找一个最小耗费的入口. #include ...

  7. 通达OA 同步中控考勤机 增强版

    如果你用的是中控考勤机且考勤机能联网,那恭喜有福了! 最近发现考勤机提供web方式查询,经过调试可以用程序直接读取考勤机数据跨过考勤机软件及其access数据库,数据同步及时性.可靠性大幅提高. 通达 ...

  8. 【转】Program Files (x86)文件夹是干什么的

    转载地址:http://leonax.net/p/2373/what-program-files-x86-folder-for/ 今天在微博上看到有人问这个问题.在装好64位的Windows之后,能在 ...

  9. asp.net 父窗体获取子窗体的返回值,可用来对父窗体局部更新

    今天在项目上遇到了这个问题,其实只是window.returnValue的简单应用,不是asp.net的专属内容.作为积累,记录一个简单的实现模型. 图1  用到的文件 从图1中我们可以看到,只用到了 ...

  10. 查询SQL 对象及存储过程

    select * from database..sysobjects order by name EXEC Sp_HelpText 'Proc_Export268';