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. java内部类 2016年12月13号

    1.在外部类的任意位置创建内部类对象的方法: 1)从外部类的非静态方法之外的任意位置创建某个内部类的对象,必须指明这个对象所在的外部类和内部类:OuterClassName.InnerClassNam ...

  2. linux下c++开发环境安装(eclipse+cdt)

    方法一: 此外,众所周知,Eclipse是Java程序,因此很容易就实现了跨平台,也是众所周知,Java的大型程序非常吃内存,即使有512MB内存, 仍然感觉Eclipse的启动速度很慢.个人认为1G ...

  3. RocEDU.阅读.写作《图解TCP/IP》

    2015年11月21日 一.对本书的认识 信息通信社会这个词俨然是现代社会的一个名词.人们可以使用各种信息终端随时随地的进行交流,而这种环境正是以来网络才得以实现,使用最为广泛的协议就是TCP/IP协 ...

  4. Bootstrap 排版

    Bootstrap 使用 Helvetica Neue. Helvetica. Arial 和 sans-serif 作为其默认的字体栈. 使用 Bootstrap 的排版特性,您可以创建标题.段落. ...

  5. 傻傻分不清楚的php脚本路径

     闲话就不说了,还是直接提出今天的问题,准确的说,对多个相似的 有关当前脚本信息的全局变量常量的区分. 先贴上代码: <?php echo $_SERVER['PHP_SELF']; echo ...

  6. 从士兵到程序员再到SOHO程序员

    2013年9月13日,我从就职了一年半的S公司正式离职,并开始了我梦寐以求的“SOHO程序员”之路. 这对于我来说,是一次人生道路上的重要选择,在这里,我想分享一下我是如何选择了这条道路的,同时也是对 ...

  7. MFC实现Gif动画制作工具

    每天来博客园逛,看里面各种好文章,发现自己已经许久没有分享点什么了. 前几天用MFC设计了一个小型的Gif动画制作工具,思路如下: 1.支持图片格式:"*.jpg","* ...

  8. VC6.0中MFC界面换肤简例

    利用VC中的MFC进行界面设计时,发现界面上的各控件无法简易地进行调整,比如字体大小.颜色.格式等. 为了改变外观,小小地美化一下,今天决定动手一试. 网上提供的库和方法不计其数,我选择了SkinMa ...

  9. js判断页面点击事件

    <input type="submit" name="sb1" id="sb1" onclick="queryclick() ...

  10. android常用的弹出提示框

    我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等 ...