读《Git权威指南》命令合集

与《读《Git权威指南》》同步更新

git --version      //获取git当前版本
git init           //将当前目录初始化git仓库
git add <fileName> //将指定文件添加进暂存区
git add .          //将所有有变化的文件添加暂存区
git commit -m "备注"//将暂存区中的变化添加进工作区
git status -s      //将文件的状态精简的输出
git push origin master  //将本地仓库的master分支推送合并到远程仓库中
git pull origin master  //将远程仓库的master分支合并到本地仓库
git reset //将之前用git add命令更新到暂存区的内容撤出暂存区
git reset - <fileName>  //指定文件将之从暂存区撤销 
git reset HEAD^         //撤销最新的一次add和commit
git checkout .  //放弃当前目录下的修改
git checkout <filename>  //放弃单个文件的修改
//配置和移除 Git全局配置文件中的name和email
$ git config --global user.name "xxx"
$ git config --global user.email xxx@xxx.com
    
$ git config --unset --global user.name
$ git config --unset --global user.email

可以看出reset命令,大部分都不会影响工作区

/// 仅用HEAD指向的目录树重置暂存区,工作区不会受到影响。相当于将之前用git add命令更新到暂存区的内容撤出暂存区。
git reset   

/// 仅用HEAD指向的目录树重置暂存区,工作区不会受到影响。相当于将之前用git add命令更新到暂存区的内容撤出暂存区。       
git reset HEAD  

/// 仅将文件filename撤出暂存区,暂存区中其他文件不改变。相当于对命令git add filename的反向操作。
git reset – filename  

/// 撤销最新的一次commit。工作区和暂存区不改变,但是版本库的引用向前回退一次。
git reset –soft HEAD^ 

/// 撤销最新的一次add和commit。工作区不改变,但是暂存区会回退到上一次提交之前,引用也会回退一次。
git reset HEAD^  

/// 彻底撤销最近的提交。引用回退到前一次,而且工作区和暂存区都会回退到上一次提交的状态。自上一次以来的提交全部丢失。
git reset –hard HEAD^  

重置命令(reset)一般用于重置暂存区(除非使用--hard参数,否则不重置工作区)

检出命令(checkout)主要是覆盖工作区(如果<commit>不省略,也会替换暂存区中相应的文件)

/// 将分支切换到master(master是分支名)
git checkout master  

/// 放弃单个文件的修改(filename是文件名)
git checkout filename 

/// 放弃当前目录下的修改。这条命令最危险!会取消所有本地的修改(相对于暂存区)。
/// 相当于将暂存区的所有文件直接覆盖本地文件,不给用户任何确认的机会!
git checkout . 

命令git stash可以用于保存和恢复工作进度

/// 保存当前工作进度。会分别对暂存区和工作区的状态进行保存。
git stash

/// 显示进度列表。此命令显然暗示了`git stash`可以多次保存工作进度,并且在恢复的时候进行选择。
git stash list

/// 如果不使用任何参数,会恢复最新保存的工作进度,并将恢复的工作进度从存储的工作进度列表中清除
/// 如果提供<stash>参数(来自于git stash list显示的列表),则从该<stash>中恢复。恢复完毕也将从进度列表中删除<stash>
/// 选项--index除了恢复工作区的文件外,还尝试恢复暂存区
git stash pop [–index] [<stash>]

/// 除了不删除恢复的进度之外,其余和git stash pop命令一样。
git stash apply [–index] [<stash>]

/// 删除指定的一个进度,默认删除最新的进度
/// 使用方法如git stash drop stash@{0}
git stash drop

/// 删除所有存储的进度
git stash clear

/// 显示stash的内容具体是什么,默认显示最新的进度
/// 使用方法如 git stash show stash@{0}
git stash show
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,610评论 1 26
  • git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git b...
    猿万阅读 5,100评论 1 45
  • 1,查看所有远程分支:%git branch -r 2, 拉取远程分支并创建本地分支git checkout -...
    will666阅读 2,098评论 0 18
  • 以下笔记主要参考gitgot,大致了解git使用和原理。 第一部分我们从个人的视角去研究如何用好Git,并且揭示G...
    carolwhite阅读 2,419评论 0 1
  • segmentfault 的文章,整理的很细,点击查看
    丶梵天阅读 1,064评论 0 0