1、撤销add但未commit的文件

git rm -r --cached path/file

2、git 撤销commit:

2.1)、git log-显示提交的历史
commit ee50348120302b19318ab6a564d4092dd87a85ef
Author: ShichaoXu <gudujianjsk@gmail.com>
Date:   Mon Jun 3 15:18:16 2013 +0800
     support for printf
commit e7a5e492c742a7b68c07f124edd4b713122c0666
Author: ShichaoXu <gudujianjsk@gmail.com>
Date:   Tue May 7 15:44:11 2013 +0800
......

   
2.2)、git reset --hard e7a5e492c742a7b68c07f124edd4b713122c0666 
    执行该步后显示如下

  •   HEAD is now at e7a5e49 del file lib/2440slib.s init/2440init.s

此时正常回到git commit    "support for printf" 之前的状态!

 
–soft –mixed –hard,会对working tree和index和HEAD进行重置:
git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
 
HEAD 最近一个提交

HEAD^ 上一次

<commit_id> 每次commit的SHA1值. 可以用git log 看到,也可以在页面上commit标签页里找到
 
以下是一些reset的示例:
(1) 回退所有内容到上一个版本  
git reset HEAD^  
(2) 回退a.py这个文件的版本到上一个版本  
git reset HEAD^ a.py  
(3) 向前回退到第3个版本  
git reset –soft HEAD~3  
(4) 将本地的状态回退到和远程的一样  
git reset –hard origin/master  
(5) 回退到某个版本  
git reset 057d  
(6) 回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit  
git revert HEAD 
 
3、git提交代码的一些方法:
github的提交方式 
  git add .--------------------存储到本地 
  git commit -m 'message'-------存储时的标记(修改了哪些地方,方便下次查询) 
  git pull------------------------下载服务器代码 
  git push------------------------上传代码至服务器 
svn服务器的提交方式 
  git add .  ------------------存储到本地 
  git commit -m 'message'--------存储时的标记(修改了哪些地方,方便下次查询) 
  git svn rebase------------------下载服务器代码 
  git svn dcommit-----------------上传代码至服务器 
其他相关的git命令 
git branch-------------------查看当前属于哪个分支 
git rebase –-continue-------------------自动合并 
git checkout –b svn 新建分支名----------新建分支存储现有文件 
git checkout master----------------------将其放到master分支下,切换分支
git merge-------------------------------整合分支 
git branch -d 分支名----------------------删除分支 
git checkout + 上传的commit编号-----------将本地代码恢复到此状态 ( )
git log------------------------------------查看本地git上传日志 
git log -p app/controllers/grids_controller.rb----查看某个文件的修改历史 
git checkout d0eb6ef3afe8a377943d3cf6f1e9c320c18f6f32   app/controllers/charts_controller.rb-----------返回到这个版本的文件(重现错误) 
git diff + commit编号--------------------------查询不同代码
git remote set-url origin test@192.168.2.34:/home/city/projects/pepper/pepper/.git--------------更改访问的git仓库地址,通常当git仓库地址发生变化是,在本地可以通过这种方法
git difftool ---------------------------查看差异工具
git mergetool---------------------------合并工具

 
 
 
 
 

git的一些常用方法的更多相关文章

  1. cyclictest 简介

    1. cyclictest 简介以及安装 1.1 cyclictest 简介 cyclictest 是什么? 看名字应该就能大致猜出来它是一种 test 程序,Cyclictest的维基主页这么介绍它 ...

  2. Linux 实时性能测试工具——Cyclictest

    Cyclictest 是 rt-tests 下的一个测试工具,也是rt-tests 下使用最广泛的测试工具,一般主要用来测试使用内核的延迟,从而判断内核的实时性. 1.2 cyclictest 安装 ...

  3. 采用MQTT协议实现android消息推送(4)选fusesource-mqtt-client为客户端

    1.简介 一个java写的mqtt客户端.项目地址: https://github.com/fusesource/mqtt-client 2.引入fusesource-mqtt-client库 Fil ...

  4. Git Bash+EGit在项目中配合使用最常用方法总结(根据场景使用)

    最近在项目中使用Git进行代码管理,之前一直用SVN进行管理,现在谈一谈Git在项目中如何与EGit插件配合使用,高效同步开发. 使用过SVN一段时间的人,初识Git一定感觉很别扭,发现会遇到各种各样 ...

  5. git常用方法整理

    Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 初始化本地仓库 mkdir xxx cd xxx git init 创建本 ...

  6. git常用方法

    一.创建项目 git clone xx.git         克隆项目到本地 git init                     初始化本地项目,生成.git文件 二.创建分支,推送分支,合并 ...

  7. Git 初始化项目、创建合并分支、回滚等常用方法总结

    就在刚才查看资料时候, 看见一句话, 写的特别好: 当我的才华撑不起我的梦想的时候, 应该安静下来学习 配上我最喜欢动漫的一个角色: 红莲 1. Git 初始化项目 1). 创建新的知识库 echo ...

  8. 【Git】常见错误提示解决办法和常用方法

    1.添加远程仓库时提示fatal: remote origin already exists. 先删除远程仓库,再添加远程仓库 最后再push 2.修改本地文件(比如README.md)后,更新到gi ...

  9. GIT 常用方法

    代码提交顺序: conmmit(提交代码到本地仓库)   --->>>   pull(将本地仓库代码合并)  ---->>>   push(将本地合并后的代码提交到 ...

随机推荐

  1. app启动调用的api

    (8)在app启动时,调用一个初始化api获取必要的信息 通过这个初始化api,获取一下必要的信息,例如,最新的app版本.当发现本地app的版本已经低于最新的app版本,可提示用户更新.当然了,这个 ...

  2. Thinking in Java——笔记(4)

    Controlling Execution true and false Java doesn't allow you to use a number as a boolean. If you wan ...

  3. 程序最多能new多少内存(2G内存里要放程序的5大区,HeapAlloc比new要快多了,而且超过2G的时候会告诉你)

    根据<Windows核心编程>得知:X86操作系统提供每个程序最多只有4G的虚拟内存,其中2G虚拟内存提供给系统用(具体用来干什么还待考察),还有2G的内存留给用户使用.那这2G内存能拿来 ...

  4. C#中的泛型 【转】

    C#中的泛型 泛型(generic)是C#语言2.0和通用语言运行时(CLR)的一个新特性.泛型为.NET框架引入了类型参数(type parameters)的概念.类型参数使得设计类和方法时,不必确 ...

  5. angularjs backbone 集成requirejs 模块化

    首先认识requirejs requirejs是个包加载器,核心功能是模块化管理,可以实现按需加载. 重点是明白 模块化不是按需加载. 模块化的意义: 是通过代码逻辑表明模块之间的依赖关系和执行顺序, ...

  6. Android onMeasure方法介绍

    onMeasure方法在控件的父元素正要放置它的子控件时调用.它会问一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec. 它们 ...

  7. Java基础之在窗口中绘图——渐变填充(GradientApplet 1)

    Applet程序. import javax.swing.*; import java.awt.*; import java.awt.geom.*; @SuppressWarnings("s ...

  8. 【002: NetBeans 的 代码补全】

    在 代码完成中,输入如下内容 q;w;e;r;t;y;u;i;o;p;a;s;d;f;g;h;j;k;z;x;c;v;b;n;m;Q;W;E;R;T;Y;U;I;O;P;A;S;D;F;G;H;J;K ...

  9. ExtJs Grid 删除,编辑,查看详细等超链接处理

    在网上查了好多资料,关于ExtJs处理操作栏的“删除”.“编辑”.“查看详细”的处理,原来项目都是这么处理: 操作栏:{ text:'操作', xtype:'actioncolumn', items ...

  10. Android Studio的git功能的使用

    初次使用AS自带的git工具的配置 初次使用AS自带的git工具需要设置一些配置,如果你已配置过,可跳过该部分内容. 首先你需要下载git,然后打开AS的git设置,路径如下,选择你安装在你电脑上的g ...