git学习网址:

http://www.backlogtool.com/git-guide/cn/intro/intro2_3.html

廖雪峰的git教程

git的工作区和暂存区(描述git的工作流)

git init:初始化git仓库

git add <filename>:添加文件到仓库,可反复多次使用,添加多个文件;

git commit -m '描述': 提交文件到仓库

git status:查看工作区仓库中的文件状态

git diff <filename>:查看某文件修改了哪些地方

git log: 查看当前工作区所有的提交记录,从上到下由最近提交到最远提交(显示为竖向展示比较长,不便于查看)

示例图如下:

git log --pretty=oneline:查看当前工作区所有的提交记录,从上到下由最近提交到最远提交(每一条记录为横向展示,便于查看,commit_id提交的版本号  提交日志)

示例图如下:

git reset --hard <commit_id>:git log或者git reflog查看日志记录得到commit_id提交的git版本号,就可以使用此命令在git的各个版本直接自由穿梭

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

示例图如下:

git reflog:查看命令历史(要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本)

示例图如下:(现在我又要从当前版本回到之前创建index.html那个版本,就需要通过git reflog查看命令历史得到创建index.html那个版本的版本号,然后使用git reset --hard <commit_id>回到那个版本)

git checkout -- <filename>:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,checkout的文件与版本库中最新版本的文件内容一致

git reset HEAD <filename>:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想回到暂存区无此文件时,使用此命令后,工作区仍然有此修改,可使用git checkout -- <filename>命令回到与版本库最新版本文件内容一致

git rm <filename>:git删除文件

git log --graph --pretty=oneline --abbrev-commit:图示形式展示log日志

git branch:查看分支,http://blog.csdn.net/xiruanliuwei/article/details/6919319

git branch -d <branchname>:删除分支

git checkout -b <branchname>:创建并切换到当前新建分支

git checkout -b <branch-name> origin/<branch-name>:在本地创建和远程某分支对应的分支,本地和远程分支的名称最好一致;

git branch -D <name>:强行删除分支,当新建的分支有修改提交的内容,但并未进行合并时,需要使用此命令进行强制删除

git clone:从远程服务器下载文件,相当于svn的checkout

git push origin <branchName>:上传本地修改的文件,推送需要指定本地分支,相当于svn的commit

git pull <远程主机名> <分支名>:相当于是从远程获取最新版本并merge到本地,相当于git fetch和git merge的组合

git fetch <远程主机名> <分支名>:相当于是从远程获取最新版本到本地,不会自动merge,http://www.yiibai.com/git/git_fetch.html

git merge <分支名>:切换到需要合并到的分支上,使用此命令合并分支,将其他分支上的内容合并到一起

git stash:使用此命令将会清除当前工作区的修改内容,git status将会看不到修改的内容,并且备份当前的工作区到stash list中,未完成不想修改但是又不得不切换到别的分支的时候,可以先git stash相当于备份,http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137602359178794d966923e5c4134bc8bf98dfb03aea3000

git stash list:查看备份工作区的备份

git stash apply <stashNum>:恢复工作区的备份,但工作区的备份不会被删除,需要使用命令:git stash drop来删除

git stash pop:恢复并删除工作区的备份

在做测试的时候,使用git clone将github上的项目下下来,修改之后再传上去的时候,提示everything up-to-date,解决方法参考此文档:http://www.cnblogs.com/sminocence/p/6546891.html

git的常用操作指令的更多相关文章

  1. git 详细教程和常用操作指令

    git 内部工作原理图 如上图,git 一般可以分为三个区:工作区.暂存区.版本库,通常类似 git add等命令都是与index 暂存区的交互,git commit指令则是 index 与版本库的交 ...

  2. linux常用操作指令

    Linux常用操作指令: 常用指令 ls        显示文件或目录 -l           列出文件详细信息l(list) -a          列出当前目录下所有文件及目录,包括隐藏的a(a ...

  3. 《Git的常用操作》

    Git的常用操作: git checkout -b 本地分支 #创建本地的分支—本地分支,并切换到该分支下. git branch --set-upstream-to=origin/远程分支 本地分支 ...

  4. Redis数据类型Strings、Lists常用操作指令

    Redis数据类型Strings.Lists常用操作指令 Strings常用操作指令 GET.SET相关操作 # GET 获取键值对 127.0.0.1:6379> get name (nil) ...

  5. Redis集合的常用操作指令

    Redis集合的常用操作指令 Sets常用操作指令 SADD 将指定的元素添加到集合.如果集合中存在该元素,则忽略. 如果集合不存在,会先创建一个集合然后在添加元素. 127.0.0.1:6379&g ...

  6. CentOS + Nginx 的常用操作指令总结

    CentOS + Nginx 的常用操作指令总结 一. 关于CentOS 查看 yum 源是否存在 yum list | grep nginx 如果不存在 或者 不是自己想要的版本 可以自己设置Ngi ...

  7. git介绍-常用操作(一)

    Table of Contents 1  系列文章 2  git说明 3  git常用命令 3.1  基本操作 3.2  远程操作 4  查看git的配置 4.1  查看已配置项 4.2  其他配置 ...

  8. git常用常用操作指令

    GIT操作 1:git init 初始化空的仓库,会在当前文件夹生成一个隐藏.git的文件夹,相当于一个仓库. 2:提交代码的流程:工作代码区-->暂存区 -->主仓库 -->服务器 ...

  9. git常用操作指令

    git操作master : 默认开发分支:origin : 默认远程版本库 添加远程仓库:git remote add [name] [url]  通常name为origin 克隆远程仓库:git c ...

随机推荐

  1. React库protypes属性

    Prop 验证 随着应用不断变大,保证组件被正确使用变得非常有用.为此我们引入propTypes.React.PropTypes 提供很多验证器 (validator) 来验证传入数据的有效性.当向 ...

  2. (十七)Spring 集成Quartz

    在使用jdk的timer时发现无法满足这次的开发需求:即无法在指定的日期进行执行任务.这便引入一个优秀的开源任务调度框架“quartz”.这里加入的是quartz-1.8.6版本.Quart的官网:h ...

  3. php+redis实现高并发模拟下单、秒杀、抢购操作

    对于高并发下的场景,一般都是采用redis缓存机制来处理. 当然也不是只有redis可以处理.还有利用mysql事务操作锁住操作的行.文件锁. 不过这些方式都没有redis缓存高效.可靠. 模拟的过程 ...

  4. 怎么将vim的剪切版设置成系统的剪切版

    如果你用vim敲完了代码,怎么把代码提交到ACMoj的粘贴版上呢. 这是个问题. 去网上查了一下,首先有人说可以在vimrc里面添加 set clipboard=unnamed 我试了一下,没有效果. ...

  5. Linux系统下使用split命令分割大文件 (转载)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://snailwarrior.blog.51cto.com/680306/140531 ...

  6. Netty入门系列(2) --使用Netty解决粘包和拆包问题

    前言 上一篇我们介绍了如果使用Netty来开发一个简单的服务端和客户端,接下来我们来讨论如何使用解码器来解决TCP的粘包和拆包问题 TCP为什么会粘包/拆包 我们知道,TCP是以一种流的方式来进行网络 ...

  7. php 判断手机号运营商

    /* 移动:134.135.136.137.138.139.150.151.157(TD).158.159.187.188 联通:130.131.132.152.155.156.185.186 电信: ...

  8. appium自动化测试框架——自动化启动多台设备思路梳理

    今天,我们聊一聊如果自动化实现在多台设备上运行脚本. 一.首先我们回忆一下如何在一台设备上运行python脚本,一般分为三步 1.启动appium服务 2.创建驱动 3.运行python脚本 同样的, ...

  9. springboot打成jar后获取classpath下文件失败

    原文链接:https://blog.csdn.net/qq_18748427/article/details/78606432 springboot打成jar后获取classpath下文件失败 使用如 ...

  10. ios 自定义cell类中获取当前controller push

    有时候在自定义cell的过程中,当cell中又button的时候,把button的点击时间写在cell中的时候,需要获取到cell的父视图控制器然后push,可以自建一个类,命名为: GetCurre ...