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. 基于React Native的Material Design风格的组件库 MRN

    基于React Native的Material Design风格的组件库.(为了平台统一体验,目前只打算支持安卓) 官方网站 http://mrn.js.org/ Github https://git ...

  2. 基于DDD的.NET开发框架 - ABP初探

    返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应 ...

  3. 一款WP小游戏代码分享

    首先声明游戏是H5的代码,当然游戏部分不是我写的,感谢@LeZhi的分享,关于H5我还在学习,这里只是简单介绍一下如何把一款现成的H5游戏封装成一款WP游戏(当然也可以做成Windows游戏). 大家 ...

  4. HTML5+NodeJs实现WebSocket即时通讯

    声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 最近都在学习HTML5,做canvas游戏之类的,发现HTML5中除了canvas这个强大的工具外,还有WebSocket也很值得注意.可 ...

  5. 回归到最初的编程——Linux下的C编程

    最近感觉有些浮躁,一方面感觉最近写公司的PHP代码倍感无聊,没有什么成就感!另一方面面对我的mac电脑中安装了诸多开发语言,倍感浮躁与困惑!同时想到这么多年来,却一直在使用PHP进行程序开发,总觉得有 ...

  6. SQL Server2008 列名显示无效

    在SQLServer2008中,当设计(修改)表结构之后,再用SQL语句时,列名会显示无效,但执行可以通过 如下图: 原因是SQL Server的intellisense(智能感知功能)需要重新整理一 ...

  7. 将Image转化为BufferImage

    public class BufferedImageBuilder { private static final int DEFAULT_IMAGE_TYPE = BufferedImage.TYPE ...

  8. java线程技术6_线程的挂起和唤醒[转]

    转自:http://blog.chinaunix.net/uid-122937-id-215913.html 1. 线程的挂起和唤醒      挂起实际上是让线程进入“非可执行”状态下,在这个状态下C ...

  9. 超市管理系统—NABCD模型

    1) N (Need 需求) 需求分析: 超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生.依靠现代化的计算机信息处理技术 ...

  10. hibernate事务

    hibernate事务 9.3 Hibernate的事务管理 事务(Transaction)是工作中的基本逻辑单位,可以用于确保数据库能够被正确修改,避免数据只修改了一部分而导致数据不完整,或者在修改 ...