1 安装:

sudo apt-get install git

2 创建一个版本库:

新建一个文件夹,进入这个目录之后

git init

3 创建一个版本:

git add 文件名或目录  #表示将当前文件的修改放入缓存区 先不提交
git commit -m '版本名称'    #将缓冲区提交建立一个版本

4 查看版本记录

geit log

每条一行查看版本信息

git log --pretty=oneline 

按图形方式查看 有合并版本的时候很清晰

git log --pretty=oneline --graph 

5 切换版本:

HEAD^表示上一个

HEAD^^表示上两个

HEAD~10 表示前面的第十个版本

git reset --hard HEAD^  #回跳一个版本
git reset --hard 版本号  #根据版本号跳转到指定的版本

6 查看操作记录

git reflog

7 查看当前工作树的状态(有哪些修改,缓冲区有哪些未提交)

git status

8 撤销修改

清空当前工作区的修改,如果缓冲区有数据,就恢复成缓冲区,如果没有就恢复成上一个提交的版本

git checkout --文件名称

清空缓冲区的内容放回到工作区

git reset HEAD 文件名

9 比较不同

git diff HEAD -- 文件名  #比较工作区和HEAD版本的不同(上次提交的版本)
git diff HEAD(版本1) HEAD^^(版本2) -- 文件名  #比较版本之间文件的区别

10 删除文件

git rm
git commit -m '版本名称'

11 分支

查看当前所有分支

git branch

创建一个分支并且使用它工作

git checkout -b 分支名称

快速合并到有新版本的另一个分支

git merge 分支名称

删除分支

git branch -d 名称

切换分支

git branch 分支名称

解决冲突

在分支1中 和分支2中分别对相同文件做了不同修改,当尝试进行分支合并的时候产生冲突

可以 在其中一个分支中编辑冲突文件,之后,再提交版本,

这时候相当于在当前分支合并了冲突文件 另一个分支没有变化

创建新版本合并,不适用快速合并:

不会合并到两一个版本,而是会合并后创建一个新的版本

git merge --no-ff -m '版本名称'

BUG分支:

在产生bug的分支 新建一个分支 进行修改,

然后修改好了再进行分支合并

最后把临时建立的bug分支删除

12 保存当前工作区(不想提交,下次还能继续工作区内容)

git stash

之后切换到其他分支,然后切换回来

恢复工作空间

git stash pop

linux下git常用命令的更多相关文章

  1. linux 下 mysql 常用命令

    linux 下 mysql 常用命令   阅读目录 ====================== 1.开启和关闭 1.1.开启 1.2.关闭 1.3.重启 2.登录 2.1.密码明文 2.2.密码密文 ...

  2. Linux课程---2、Linux下最常用命令(查看帮助命令)

    Linux课程---2.Linux下最常用命令(查看帮助命令) 一.总结 一句话总结: man 1.显示文件? ls:ls带其它参数详情可以man ls man ls:比如 ls -a显示隐藏文件,l ...

  3. [转]Linux下网络常用命令和工具

    转自:http://int32bit.me/2016/05/04/Linux%E5%B8%B8%E7%94%A8%E7%BD%91%E7%BB%9C%E5%B7%A5%E5%85%B7%E6%80%B ...

  4. linux下svn常用命令

    (如果是第一次提交文件,很可能会出现“svn:'.'不是工作副本”,即当前目录不是工作副本,这个时候需要用到import: eg:svn import . url) 1.将文件checkout到本地目 ...

  5. linux下 oracle常用命令

    打开图形化窗口: 1)Database Configuration Assistant windows    (添加数据库实例) $ dbca 2)Oracle Net Configuration A ...

  6. linux下一些常用命令和访问目录

    1. 目录      ls   列出目录文件名      ll    列出所有目录文件的访问权限等相关信息,包括 .   ..      ls -a  列出所有目录文件名,包括 .   .. ls - ...

  7. linux下的常用命令

    1 fg切换前后台作业 将后台作业转换为前台作业,”fg %作业号“ 2 stty改变和打印终端行设置 tostop 阻止后台作业写终端,stty -a显示终端的所有选项 3 uname查看机子信息 ...

  8. linux下ftp常用命令

    1. Linux 终端连接FTP $ ftp 10.85.3.12 Name : fxm5547 Password: ftp> 如果FTP 允许匿名用户,那么用户名要输入anonymous,密码 ...

  9. Linux下Redis常用命令

    >src/redis-server  启动 Redis 服务  或者>src/redis-server redis.conf src/redis-server redis.conf 1&g ...

随机推荐

  1. 第二周Python讲课内容--日记

    1.初识模块:sys.os 标准模块库存放在lib文件夹里 三方库模块一般存放在packages文件夹里 模块调用方法:import sys/os sys模块: sys.path 打印环境变量 sys ...

  2. IP地址与域名的关系

    1.IP地址:IP地址是用来唯一标识互联网上计算机的逻辑地址,让电脑之间可以相互通信. 每台连网计算机都依靠IP地址来互相区分.相互联系 2.域名:由于IP地址是数字标识,使用时难以记忆和书写,因此在 ...

  3. 用three.js创建一个简易的天空盒

    本文创建的天空盒是用六张图片来创建的.笔者会论述两种方法来创建,都是最简单基本的方法,不涉及着色器的使用.一种是创建一个盒子,然后将图片作为盒子6个面的纹理贴上来创建.另一种则是简单的将纹理作为场景的 ...

  4. MongoDB系列二(介绍).

    一.特点 学习一个东西,至少首先得知道它能做什么?适合做什么?有什么优缺点吧? 传统关系型数据库,遵循三大范式.即原子性.唯一性.每列与主键直接关联性.但是后来人们慢慢发现,不要把这些数据分散到多个表 ...

  5. Python爬取百度贴吧

    from urllib import request,parseimport os#找到借口及关键字base_url = 'http://tieba.baidu.com/f?'a = input(&q ...

  6. 配置 CSV Data Set Config 来参数化新增客户信息操作

    1.首先根据新增客户信息的http请求,来确定需要参数化的变量,选取符合测试需求且经常变化或未来会变化的变量为需要参数化的变量,如本文中的客户端名称(sys_name).描述(description) ...

  7. 第2次作业:Wechat创作史

    Wechat创作史   比尔盖茨曾经说过一句话:21世纪要么电子商务,要么无商可务. 2.1 介绍产品相关信息 -the information about Wechat 你选择的产品是? 选择微信作 ...

  8. 项目Alpha冲刺Day12

    一.会议照片 二.项目进展 1.今日安排 修复全局的日期转换问题,完成用户所有相关的模块,对全局的异常处理做优化.其他模块进行一部分实现. 2.问题困难 全局异常处理后发现没有进行按照链进行下去,造成 ...

  9. Swift - 使用导航条和导航条控制器来进行页面切换并传递数据

    转自:http://www.hangge.com/blog/cache/detail_586.html

  10. NetFPGA-1G-CML点亮 LED

    前言 用vivado建立工程的时候选择的型号为:XC7K325tffg676-1 在以下代码文件中,仿真与设计都没有问题.在xdc文件中的时钟约束与锁相环配置中还存在问题,没有寻找到解决办法 使用手册 ...