Linux基础※※※※如何使用Git in Linux(一)
参考资料:
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 commit或git 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(一)的更多相关文章
- Linux基础※※※※如何使用Git in Linux(二)
参考资料: 1. http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 2. Git-简 ...
- Linux基础学习(1)--Linux系统简介
第一章——Linux系统简介 1.UNIX和Linux发展史: 1.1 unix发展史: (1)1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发Mul ...
- Linux基础回想(1)——Linux系统概述
1. 什么是操作系统?它与硬件以及其它软件之间的关系是如何的? 操作系统是控制和管理计算机系统内各种硬件和软件资源.有效组织多道程序执行的系统软件(或程序集合),是用户和计算机之间的接口.详细的说: ...
- 大数据学习笔记之Linux基础(一):Linux初窥
文章目录 一.Linux入门概述 1.1 概述 1.2 下载地址 1.3 Linux特点 1.4 Linux和Windows区别 二.VM安装相关 2.1 安装VMWare虚拟机 2.2 安装Cent ...
- linux基础-第十四单元 Linux网络原理及基础设置
第十四单元 Linux网络原理及基础设置 三种网卡模式图 使用ifconfig命令来维护网络 ifconfig命令的功能 ifconfig命令的用法举例 使用ifup和ifdown命令启动和停止网卡 ...
- Linux基础教程(一)——Linux系统简介
Linux的概述 Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,由于 ...
- java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理
我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...
- linux基础内容学习一:linux下的分区及安装
linux看系统版本信息 uname -a 如果显示为i386,i686则为32位系统,如果为x86_64则为64位 一块硬盘最多可以有四个主分区其中一个主分区可以用一个扩展分区替换,在这个扩展分区中 ...
- Linux基础学习(13)--Linux系统管理
第十三章——Linux系统管理 一.进程管理 1.进程查看: (1)进程简介:进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. (2)进程管理的 ...
随机推荐
- 、web前端的这么知识应该是怎样的一个知识体系架构?
.web前端的这么知识应该是怎样的一个知识体系架构?之前我以为可以以W3C为纲要,把W3C的东西学会了就够了.后来发现我错了,W3C还不全面. 真正全面的覆盖了web前端知识体系的东西是——浏览器内核 ...
- struct termios结构体【转】
本文转载自:http://blog.csdn.net/vevenlcf/article/details/51096122 一.数据成员 termios 函数族提供了一个常规的终端接口,用于控制非同步通 ...
- 将UTF8编码的3字节中英文转成2字节中英文.
1. 首先要考虑将String转成一个bytes的数组, 每个汉字是3个bytes, 英文或者标点是1个byte. 2. 然后去判断一下每一个byte的前面几个bit, 看下面的表, 1个byte的字 ...
- Linux Kernel中断子系统来龙去脉浅析【转】
转自:http://blog.csdn.net/u011461299/article/details/9772215 版权声明:本文为博主原创文章,未经博主允许不得转载. 一般来说,在一个device ...
- oracle 创建表空间用户
1.创建普通表空间和用户 //创建临时表空间create temporary tablespace oa_temptempfile 'D:\app\Administrator\oradata\orcl ...
- c sharp学习 问题记录
1.函数的调用可以嵌套,定义不可以 C# 参考之方法参数关键字:params.ref及out C#中方法的参数的四种类型
- linux string 操作
http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html 字符替换 sed -i 's/3306/3308/g' my.cnf my ...
- easyui-tabs图标(获取焦点时显示图标,失去焦点时隐藏图标)
获取焦点时显示图标,失去焦点时隐藏图标 <script type="text/javascript"> $('#_progress').tabs({ onSelect: ...
- 删除ecshop云服务及授权关于官方等信息
一.删除[云服务中心] 删除/admin/cloud.php 删除/admin/templates/menu.htm中以下代码 Ajax.call('cloud.php?is_ajax=1>ac ...
- 《深度探索C++对象模型》3
第六章:执行期语意学 全局对象的初始化: 局部静态对象的初始化: 构建对象数组的vec_new()函数: 针对数组的new操作: placement operator new: 反聚合提高效率: 模板 ...