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. [转]World Wind学习总结一

    WW的纹理,DEM数据,及LOD模型 以earth为例 1. 地形数据: 默认浏览器纹理数据存放在/Cache/Earth/Images/NASA Landsat Imagery/NLT Landsa ...

  2. php基础24:数组range

    <?php $numbers = range(1, 10); echo "<pre>"; var_dump($numbers); echo "</ ...

  3. openssl实践总结

    openssl实验总结 OPENSSL简介 OpenSSL项目是一个协作开发一个健壮的,商业级的,全功能的,并且开放源代码工具包,它实现了安全套接字层(SSL v2/v3)和传输层安全(TLS v1) ...

  4. DLL中调用约定和名称修饰(一)

    DLL中调用约定和名称修饰(一) 调用约定(Calling Convention)是指在程序设计语言中为了实现函数调用而建立的一种协议.这种协议规定了该语言的函数中的参数传送方式.参数是否可变和由谁来 ...

  5. 细说 Web API参数绑定和模型绑定

    今天跟大家分享下在Asp.NET Web API中Controller是如何解析从客户端传递过来的数据,然后赋值给Controller的参数的,也就是参数绑定和模型绑定. Web API参数绑定就是简 ...

  6. 如何部署Iveely.Computing分布式实时计算系统

    Iveely.Computing是参考Storm的分布式实时计算系统的部分原理,用纯Java实现的轻量级.迷你型,适合于搜索引擎的实时计算系统, Iveely 搜索引擎是一款基于Iveely.Comp ...

  7. php并发请求

    一般在php进行请求url的时候,直接用 fopen 函数就可以搞定了,比如像这样: $file=fopen("http://www.cnblogs.com","r&qu ...

  8. 文件夹文件遍历并插入数据库的操作,IO Directory File的递归操作

    在我们管理内容管理系统时,数据量大时,对机器的依赖性就比较强了,比如,我要将一个文件夹中的很多图片上传到网站,一个个上传会很花时间,就想到了通过遍历文件夹得到文件名,并将路径与文件保存到数据库中对应的 ...

  9. linux中的数值运算

    一.declare 作用:声明变量类型,bash默认变量为字符串类型的,并且字符串在拼接时直接拼接,不需要加号 使用方法: 二.数值运算 加法运算 a= b= c=$(($a+$b)) echo $c

  10. 工作的思考十五:升职前需要做的准备(TeamLeader)

    当一个人在公司的工作年限以及经验的积累到达一个程度的时候,升职其实是件高兴的事,但面临角色的转变需要提前做些准备的. 其实如果你对你的职业规划很清楚的话,那么你就应该在升职之前就会开始进行角色的转换. ...