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. [NOI2017]蔬菜(贪心+递推)

    这题很有思维难度,乍一看基本无从下手. 给每个蔬菜钦定退役的时间显然很困难,可以考虑让时光倒流,从后向前递推,然后就变成了某个时间点有一部分蔬菜服役,而已经服役的蔬菜不会退役了.然后就可以直接考虑贪心 ...

  2. 高级变量类型(列表,元组,字典,字符串,公共方法,变量高级)for循环

    Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) 真 True 非 0 数 -- 非零即真 假 False 0 复数型 (co ...

  3. 题解 P2622 【关灯问题II】

    题目 感觉大佬们的代码在读入上的处理比本蒟蒻优秀多了,于是,一个AFO蒟蒻弱弱地提出一下自己的看法 [分析] 首先,对于 \(n\) 那么小,肯定是状压啦 对于读入,本蒟蒻开了两个数组来储存每个按钮的 ...

  4. bootstrap 支持的JavaScript插件

    一次性导入: Bootstrap提供了一个单一的文件,这个文件包含了Bootstrap的所有JavaScript插件,即bootstrap.js(压缩版本:bootstrap.min.js). 具体使 ...

  5. postfix简单记录

    1.将/etc/postfix/main.cf编辑 myhostname和mydomain等 2.即可测试发送邮件 3.安装DNS功能,其中13和21行改成any yum install bind b ...

  6. 从定时器的选型,到透过源码看XXL-Job(上)

    此内容来自一位好朋友的分享,也是当初建议我写博客提升的朋友.内容只做转载,未做修改. 定时任务选型 背景 目前项目定时任务采用Spring Task实现,随着项目需求的迭代,新增的定时任务也越来越多. ...

  7. [Python]distributed 1.21.8 requires msgpack, which is not installed.

    个人博客原文地址:http://www.bearoom.xyz/2019/08/24/python-devolop-en-msgpack-problem/ 在安装tensorflow的时候,出现了这个 ...

  8. maven项目出现Xxx is not a Servlet的问题

    应该是tomcat的jar包和maven的jar包冲突 在pom.xml中找到 <dependency> <groupId>org.apache.tomcat</grou ...

  9. 1 PHP 5.3中的新特性

    1 PHP 5.3中的新特性 1.1 支持命名空间 (Namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要的新特性. 在PHP5.3中,则只需要指定不同的命名空间即可,命名空间的分隔符 ...

  10. one_day_one_linuxCmd---wget命令

    <坚持每天学习一个 linux 命令,今天我们来学习 wget 命令> Linux wget 是一个文件下载工具,它用在命令行下,使用也非常方便,不但体积小而且功能完善,并支持很多强大的功 ...