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. 小米google play service停止工作解决办法,不root,不刷第三方recovery(也适用于其他的手机)

    问题: 原因是手机安卓系统是6.0.系统应用里面没有包含谷歌框架等一系列谷歌的小东西. 参考: http://www.miui.com/thread-3548436-1-1.html http://w ...

  2. POST方式提交乱码解决

    乱码的问题比较常见,确保各地方的编码格式均统一是保证不出现乱码的必要条件,但还是常会有编码都统一了仍然出现乱码的情况. 第一步: 确认JSP页面头部是否有: <%@ page contentTy ...

  3. c++代码的编译

    1.gcc和g++     1.1搞清楚几个名字         GCC :GNU Compiler Collection (GUN编译套件),可以编译c,c++,java,objective-c,F ...

  4. vuex2中使用mapMutations/mapActions报错解决方法 BabelLoaderError: SyntaxError: Unexpected token

    在尝鲜vuex2时,发现vuex2增加了 mapGetters 和 mapActions 的方法,借助stage2的 Object Rest Operator 特性,可以写出下面代码:methods: ...

  5. 基于PLC-C#串口通讯,温度检测和转速监控的c#/.Net实现。

    我司为五金加工企业,其中有一条喷涂车间和流水线,客户要求能实时监控炉温温度.流水线速,并设置上下限值,达到上下限时报警. 开始考虑过USB的温度采集器,但是却没有找到带USB的光电开关,并且线路长度受 ...

  6. CentOS 6.5 通过命令行安装发送邮件

    1.安装sendmail: yum install sendmail 2.安装mailx: yum install mailx -y 3.编辑发送的配置文件: vi /etc/mail.rc #在最后 ...

  7. 用SpringBoot搭建简单电商项目 01

    前几节呢,我们已经简单介绍了SpringBoot框架的使用,从这一节开始,我们尝试着使用SpringBoot框架来一步一步搭建一个简单电商项目.当然了,这不是真正的电商项目,你可以看成是一个CRUD案 ...

  8. Java基础学习笔记九 Java基础语法之this和super

    构造方法 我们对封装已经有了基本的了解,接下来我们来看一个新的问题,依然以Person为例,由于Person中的属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方法.当 ...

  9. C语言——第0次作业(二)

    1.翻阅邹欣老师的关于师生关系博客,并回答下列问题,每个问题的答案不少于500字: 1.最理想的师生关系是健身教练和学员的关系,在这种师生关系中你期望获得来自老师的哪些帮助? 在现代软件工程讲义 0 ...

  10. 在深度linux下安装pip3与jupyter

    前言 以下安装说明基于已经正确安装python3 文件下载 https://pypi.python.org/pypi/pip 下载pip-9.0.1.tar.gz (md5, pgp)文件 安装准备工 ...