1.创建本地与远程分支

先创建远程分支,再创建本地分支,再将本地分支与远程分支关联
git fetch 获取远程分支
git checkout remote_branch 或者 git checkout -b local-branch origin/remote_branch 将远程分支映射到本地命名为local-branchname的分支

先创建本地分支,再将本地分支推送的远程,创建远程分支
git checkout -b local-branch
git push origin local-branch 将本地分支推送至对应远程分支,若对应远程分支不存在,会被新建

2.撤销修改

撤销工作区的修改
git checkout -- <file> 撤销指定文件
git checkout . 撤销指定目录的所有文件

暂存区的修改撤回工作区
git reset HEAD file

版本库后退
git revert HEAD 撤销当前版本
git revert HEAD^ 撤销上个版本

版本回退
git reset --hard commit_id 回退到指定版本,工作目录中修改被丢弃,执行push之前回退
git revert commmit_id 新提交回退到指定版本,执行push之后回退

git reflog 查看命令历史
git log 查看commit历史

3.查看远程主机信息

git remote -v 查看远程主机和网址
git remote add <主机名> <网址> 添加远程主机

4.查看分支信息

git branch -vv 本地分支与远程分支的对应关系
git branch --set-upstream local origin/remote 跟踪远程分支

5.git add 相关

git add -A stages All
git add . stages new and modified, without deleted
git add -u stages modified and deleted, without new
git add -i 交互式暂存

6.重命名或移动文件

git mv <原文件名称> <新文件名称>

7.直接提交所有文件
git commit -a stages All and repo All

8.git tag 相关

查看标签

git tag 查看所有标签
git tag -l "xxx.xx*" 查看模式匹配的标签
git show [tagName] 查看标签的版本信息

打标签

git tag [tagName] 创建本地轻量标签
git tag -a [tagName] -m [comment] 创建本地附注标签
git tag -a [tagName] [commit_id] 创建指定版本的标签
git push origin [tagName] 创建远程标签
git push origin --tags 推送本地所有标签

切换到标签

git checkout [tagName]

删除标签

git tag -d [tagName] 删除本地标签
git push origin :refs/tags/[tagName] 删除远程标签

9.本地分支与远程分支不同名

git push origin local-branch:remote-branch

10.git config

提交代码的log里面会显示提交者的信息

git config --global user.name [username]

git config --global user.email [email]
 
在git命令中开启颜色显示
git config --global color.ui true
 
11.git diff

git diff 显示合并冲突文件,比较工作区与暂存区的差异

git diff --base <filename> 查看某个合并冲突文件

git diff <branchA> <branchB> 对比分支差异(patch)

git diff [branchA]…[branchB] 对比分支差异

git diff --cached 暂存区和上次提交的差异

git diff HEAD 工作区和上次提交的差异

git diff [tag] 自从某个版本之后都改动了什么

12.git 删除和重命名文件

# 删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...

# 停止追踪指定文件,但该文件会保留在工作区
$ git rm --cached [file]

# 改名文件,并且将这个改名放入暂存区
$ git mv [file-original] [file-renamed]

13. 查看单个文件历史

# 显示某个文件的版本历史,包括文件改名
$ git log --follow [file]
$ git whatchanged [file]

# 显示指定文件相关的每一次diff
$ git log -p [file]

14.查看所有用户修改历史

# 显示所有提交过的用户,按提交次数排序
$ git shortlog -sn

# 显示指定文件是什么人在什么时间修改过
$ git blame [file]

15.查看某个版本修改的文件

# 列出修改过的文件名
$ git show commitId --name-only

# 列出修改过的文件名和状态
$ git show commitId --name-status

git小结的更多相关文章

  1. git小结-ms

    目录 1.git是什么 2.git怎么工作的 3.git常用命令 4.git提效工具 5.git的技术用语 1.git是什么 git是开源的分布式的版本控制系统,可以有效.高速地处理的项目版本管理.g ...

  2. Spring+SpringMVC+MyBatis+LogBack+C3P0+Maven+Git小结(转)

    摘要 出于兴趣,想要搭建一个自己的小站点,目前正在积极的准备环境,利用Spring+SpringMVC+MyBatis+LogBack+C3P0+Maven+Git,这里总结下最近遇到的一些问题及解决 ...

  3. git 小结

    git cherry-pick de0ec64  可将另一个分支中的提交 cherry-pick到当前分支来

  4. iOS版本控制git小结--yoowei

    # 显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder # 不显示隐藏文件 d ...

  5. GIT入门笔记(19)GIT 小结

    1.add和commit为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:$ git add file1.txt$ g ...

  6. 版本控制之Git小结

    一.版本控制 1.1 什么是版本控制 版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统.可以对任何类型的文件进行版本控制. 1.2 为什么需要版本控制 有了版本控制就可以 ...

  7. Git小结---So far.......

    基本的: 1. 在配置了SSH Key的情况下,clone项目时使用:git clone git@github.com/用户名/仓库名.git  使用这种方式而不使用https的方式的好处在于,在pu ...

  8. git参考, 小结

    git官网: https://git-scm.com 菜鸟教程: http://www.runoob.com/git/git-tutorial.html 廖雪峰: https://www.liaoxu ...

  9. 记一次小团队Git实践(上)

    公司规模不大,成立之初,选择了svn作为版本控制系统.这对于用惯了git的我来说,将就了一段时间后,极为不爽,切换到git-svn勉强能用.随后,因为产品需要发布不同的版本,而git-svn对远程分支 ...

随机推荐

  1. BigDecimal 使用方法详解

    BigDecimal 使用方法详解 博客分类: java基础 bigdecimalmultiplyadddivide  BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (sca ...

  2. Activiti系列: 如何添加自定义表单引擎

    这个功能挺有意思的,有了它,就可以不适用html的方式来展示表单了,比如可以用swing对象了 class MyFormEngine implements FormEngine {     @over ...

  3. objc_msgSend()报错Too many arguments to function call ,expected 0,have3

    Build Setting--> Apple LLVM 6.0 - Preprocessing--> Enable Strict Checking of objc_msgSend Call ...

  4. iOS中plist的创建,数据写入与读取

    iOS中plist的创建,数据写入与读取 Documents:应用将数据存储在Documents中,但基于NSuserDefaults的首选项设置除外Library:基于NSUserDefaults的 ...

  5. 数据结构之链表C语言实现以及使用场景分析

    牢骚:本篇博客两个星期前已经存为草稿,鉴于发生一些糟糕的事情,今天才基本完成.本人6月份应届毕业生一枚,毕业后当天来到帝都,之后也非常顺利,面试了俩家公司都成功了.一家做C++方面电商ERP,一家做w ...

  6. [USACO2003][poj2138]Travel Games(dp/最长路)

    http://poj.org/problem?id=2138 题意:给你一些单词和初始单词,在初始单词的任意位置你可以加任意一个字母,使得这个新单词在给的单词中有所出现,然后在这样不断迭代下去,让你求 ...

  7. 机器学习中的矩阵方法04:SVD 分解

    前面我们讲了 QR 分解有一些优良的特性,但是 QR 分解仅仅是对矩阵的行进行操作(左乘一个酉矩阵),可以得到列空间.这一小节的 SVD 分解则是将行与列同等看待,既左乘酉矩阵,又右乘酉矩阵,可以得出 ...

  8. java中的File类

    File类 java中的File类其实和文件并没有多大关系,它更像一个对文件路径描述的类.它即可以代表某个路径下的特定文件,也可以用来表示该路径的下的所有文件,所以我们不要被它的表象所迷惑.对文件的真 ...

  9. asp.net 预编译和动态编译

    在asp.net中,编译可以分为:动态编译Dynamical Compilation和预编译(Precompilation). 动态编译 深入剖析ASP.NET的编译原理之一:动态编译(Dynamic ...

  10. 年前辞职-WCF入门学习(5)

    前言 第五集比较简单,视频也只有7分多钟,但是用处还是挺大的.下面我会介绍. 本来想第六集一起介绍的,后来发现第六集内容比较多,有半个多小时,就不一起了.网站规定6小时内只能发布一篇文章到首页,,那我 ...