git.exe clone --progress -v "git@code.sohuno.com:huimingtao/focus-wap.git" "D:\workspace1\focus-wap"

git.exe checkout -b pad remotes/origin/pad

git remote show origin
查看名称为origin的远程仓库的详细信息

git init
初始化一个git项目

git remote add origin git@code.sohuno.com:rogantian/git-test.git
添加一个叫origin的远程仓库

git push -u origin master
将本地仓库的master分支推送到名为origin的远程仓库上去。-u表示绑定本地的master和origin上的master分支,下次再在本地的master分支上pull或push的时候可以直接使用git pull 或 git push

git checkout -- src/main/webapp/views/pad/filterBuilding.jsp
放弃本地修改的filterBuilding.jsp文件,从暂存区检出这个文件,如果filterBuilding.jsp没有与分支名冲突的话,使用git checkout src/main/webapp/views/pad/filterBuilding.jsp也可以
(该方式可以在本地不小心修改了或者删除了某个文件,并且尚未添加到暂存区时用来恢复这些文件)

git reset HEAD -- README
如果README这个文件修改了之后add到了暂存区,可以使用该命令将其从暂存区取出,状态变为修改状态,然后可以结合上一个checkout命令将之恢复到修改之前的状态
reset实际上是从仓库中恢复到暂存区

git checkout HEAD --file
将当前工作区的file文件回滚到最后一次提交,并保存到暂存区,比如git checkout HEAD~ --file将file回滚到最后一次提交的父提交并暂存,如果没有指定提交节点,则从暂存区回滚(即上上一条命令)

git log master ^origin/master
可以查看远程分支master上有但本地有,但远程分支没有的提交(即可以查看没有push到远程的commit有哪些)

git log origin/master ^master
同上一条,可以查看远程有,但本地没有的提交

git commit -am "test test"
将当前工作区中已经跟踪文件的修改和删除添加到暂存区并且提交(即包括add和commit),但是不会影响到新建的文件

git log -p
列出详细区别(generate patch,包括增加了那一行,删除了哪一行)

git log --stat
列出次一级别的详细区别(只列出某个文件总共增加了多少行,删除了多少行等)
git log -2
仅列出最近两次的提交

git log --pretty=oneline
以简洁的格式显示日志,有oneline,short,full,fuller,format等

git log --graph
会显示简单图形

git diff
比较暂存区和工作区

git diff HEAD
比较最近一次提交和工作区

git diff maint
比较maint分支和当前工作区

git diff da895 b325c
在两个提交点之间比较

git diff --cached
比较最近提交和暂存区

git diff <branch1> <branch2>
在两个分支之间比较

git status -s
-s表示give the output in the short-format 其中绿色表示在暂存区没有提交的文件,红色表示修改了而没有添加到暂存区的文件

==============查看、切换、创建和删除分支=================
git checkout -b <newbranch>
新建一个名为newbranch的分支,然后切换到该分支,同git branch newbranch git checkout newbranch这两个命令分别执行时的效果一样

git checkout -b <newbranch> <oldbranch>
基于oldbranch创建新的newbranch

git checkout $id
把某次历史提交记录checkout出来,但无分支信息,切换到其它分支会自动删除,此时可以使用git checkout -b <newbranch>就可以在这个提交点上创建分支了,同下面这个命令

git checkout $id -b <newbranch>
把某次提交记录checkout出来,创建成一个分支

git branch --list
查看本地的分支情况,同没有参数的git branch命令效果一样,可以使用pattern来过滤

git branch -r
显示远程分支情况 可以使用pattern过滤

git branch -a
包含--list和-r的效果,可以使用pattern过滤

git branch -d branchname
删除名为branchname的分支

git branch -D <branchname>
强制删除某个分支(未被合并的分支被删除的时候需要强制)

git push origin :<branchName>
删除远程分支,这是gitV1.7.0之前的版本

git push origin --delete <branchName>
新版git删除远程分支

git branch -v
查看各个分支最后的提交信息

git branch --merged
查看已经被合并到当前分支的分支

git branch --no-merged
查看尚未合并到当前分支的分支

================标签==========================
git tag
列出所有标签

git tag -l <pattern>
列出所有标签,并且可以使用匹配,-l是--list的缩写

git tag <tagname>
新建一个轻量级的tag

git -a <tagname>
新建一个含附注的标签

git -a <tagname> $id
在某次提交上加标签

git push origin <tagname>
将某个标签推送到远程仓库

git push origin --tags
一次性推送本地所有标签到远程仓库

git tag -d <tagname>
删除本地标签

git push origin :refs/tags/<tagname>
删除远程标签,这种方法是在v1.7.0

git push origin --delete tag <tagname>
新版git里删除远程分支的方法

git config --global mergetool.keepBackup false
为了在使用mergetool时不再生成烦人的.orig备份文件

===============远程仓库===================
git remote show <name>
查看名为name的远程仓库信息

git remote prune <name>
删除所有与远程仓库name相关,已经在name里被删除但是本地仍然保留的分支(ie. git remote prune origin)

git cherry-pick <commit id>
把commit从一个分支copy到另一分支

git branch --set-upstream master origin/master
远程分支拷贝本地

git实用手册的更多相关文章

  1. git学习手册

    #git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...

  2. 实用手册:130+ 提高开发效率的 vim 常用命令

    Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...

  3. Ubuntu下安装Git以及Git帮助手册【转】

    转自:http://milkythinking.com/blog/2011/04/17/install_git_and_manual/ Git简介 Git是一个分布式版本控制系统,对应的是SVN.CV ...

  4. svn 迁移至git操作手册

    svn 迁移至git操作手册 项目交付.版本管理工具变更等情况下,迁移svn旧历史记录有很大必要,方便后续追踪文件的提交历史,文件修改记录比对等.git自带了从svn迁移至git的工具命令,可很好的对 ...

  5. Git使用手册【转】

    转自:https://www.jianshu.com/p/e32a8e7ca93b 目录: Git是什么 基本概念 Git的诞生 Git的安装与配置 创建版本库 Git操作略览 远程仓库:git的杀招 ...

  6. 【转载】Exchange 2010配置与安装实用手册

    Exchange 2010配置与安装实用手册 在Exchange 2010配置的时候主要分三大部分,这分别是网络配置.准备存储以及相关的安装策略和过程.同时还需要注意和其他的Windows软件相协调. ...

  7. Git Manual / Git使用手册 / Git, GitLab, Git Bash, TortoiseGit (建议全文复制到Word文档中通过导航窗格查看)

    Git使用手册 目录 1     引言 2     Git.GitLab简介 2.1      Git 2.2      GitLab 2.3      Git基本概念 3     运行环境 4    ...

  8. 《mac的git安装手册-1》

    <mac的git安装手册-1> 下载地址 https://git-scm.com/downloads 如果遇到上面这个问题打开系统偏好设置: OK,这样就能安装了

  9. 《mac的git安装手册-2》

    <mac的git安装手册-2> 下载地址 https://git-scm.com/downloads 如果遇到打不开的情况,请在系统偏好设置内——>安全性与隐私下 ——>选择仍 ...

随机推荐

  1. class选择器,外部样式表,选择器优先级

    class选择器: 先在相应标签中设置一个class属性,如class=“class名”.class名{ ……css样式}注:class名以英文字母开头,可以多个标签重复使用.优先级:标签名选择器 & ...

  2. 网页嵌 activeXForm 中显示fastReport

  3. (转载)(DescriptionResource Path Location Type The superclass "javax.servlet.http.HttpServlet" was not foun

    eclipse环境下如何配置tomcat 打开Eclipse,单击"Window"菜单,选择下方的"Preferences". 单击"Server&q ...

  4. CPU构架和工作原理

    -- CPU -- -- CPU 由三部分组成:时钟:控制单元:算术逻辑单元 -- -- -- 时钟:对CPU内部操作与系统其他硬件进行同步: -- -- -- 控制单元:控制机器指令的执行顺序: - ...

  5. c语言:函数的递归调用

    c语言可以将代码模块化,这是其很重要的一个特性. 说道代码模块化,我们很自然的就会联想到函数.而函数中,比较难的一个知识点就是函数的递归调用. 值得注意的是,函数的递归调用在现实工作并不是很常用,但是 ...

  6. vue拖拽插件(弹框拖拽)

    // =======拖拽 插件 cnpm install vuedraggableimport draggable from 'vuedraggable' <draggable v-model= ...

  7. h5-渐变的基本描述

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. mysql not in 或 in 优化

    在MySQL 中,not in 或in 优化思路, 利用left join 来优化,类似如下的查询方式: select id from a where id in (select id from b ...

  9. 微信获得access_token

    <?php //获取access_token $appid = 'wx47a6fc3c1187e60d'; //测试账号appid $appsecret = '525f76d57c7bd7200 ...

  10. 等和的分隔子集(dp)

    晓萌希望将 1 到 N 的连续整数组成的集合划分成两个子集合,且保证每个集合的数字和是相等. 例如,对于 N = 3,对应的集合 1, 2, 3 能被划分成3和1,2两个子集合. 这两个子集合中元素分 ...