1.git 基本概念:

  • 工作区:改动(增删文件和内容)
  • 暂存区:输入命令:git add 改动的文件名,此次改动就放到了‘暂存区’(新增的文件)
  • 本地仓库(简称:本地):输入命令:git commit 此次修改的描述,此次改动就放到了’本地仓库’,每个commit,我叫它为一个‘版本’。
  • 远程仓库(简称:远程):输入命令:git push 推送到远程仓库,此次改动就放到了‘远程仓库’ git pull 拉去远程仓库
  • commit-id:输出命令:git log,最上面那行commit xxxxxx,后面的字符串就是commit-id

2.工作区和暂存区的常用命令:

  • 展示工作区和暂存区的不同(输出工作区和暂存区的different(不同)。)
  • git diff
  • 还可以展示本地仓库中任意两个commit之间的文件变动:
  • git diff <commit-id>
    <commit-id>
  • 两个分支的差异:
  • git diff <branch
    a> <branch b>
  • 放弃工作区的修改
  • git checkout <file-name>
  • 放弃所有修改:
  • git checkout .
  • 强制删除untracked的文件
  • git clean <file-name>
    -f
  • 强制删除untracked的目录
  • git clean <directory-name>
    -df
  • 展示所有tracked的文件
  • git ls-files -t
  • 展示所有untracked的文件
  • git ls-files --others

3.有关commit的一些常用命令:

  • 查看commit历史
  • git log
  • 重设第一个commit(也就是把所有的改动都重新放回工作区,并清空所有的commit,这样就可以重新提交第一个commit了)
  • git update-ref
    -d HEAD
  • 回到某个commit的状态,并删除后面的commit (但不丢弃更改)
  • git reset <commit-id>
  • 回到某个commit的状态(丢弃更改)
  • git reset —hard
    <commit-id>
  • 修改上一个commit的描述
  • git commit --amend
  • 展示简化的commit历史
  • git log --pretty=oneline
    --graph --decorate --all
  • 在commit log中查找相关内容
  • git log --all --grep='<text>'
  • commit历史中显示Branch1有的,但是Branch2没有commit
  • git log Branch1
    ^Branch2

4.关于分支管理的一些常用命令:

  • 快速切换分支
  • git checkout -
  • 创建并切换到该分支
  • git checkout -b
    <branch-name>
  • 查看本地分支:
  • git branch
  • 查看所有分支
  • git branch -a
  • 重命名本地分支:
  • git branch -m <branch-oldName>
    <branch-newName>
  • 删除远程分支
  • git push origin
    --delete <remote-branchname>
  • git push origin
    :<remote-branchname>
  • 关联远程分支(关联之后,git branch -vv就可以展示关联的远程分支名了,同时推送到远程仓库直接:git push,不需要指定远程仓库了。)
  • git branch -u origin/mybranch
  • 展示任意分支某一文件的内容
  • git show <branch-name>:<file-name>
  • 新建并切换到新分支上,同时这个分支没有任何commit
  • git checkout --orphan
    <branch-name>

5.关于git中标签的一些常用命令:

  • tag就像是一个里程碑一个标志一个点,branch是一个新的征程一条线;
  • tag是静态的,branch要向前走;
  • 稳定版本备份用tag,新功能多人开发用branch。
  • 查看标签
  • git tag
  • 本地创建标签
  • git tag <version-number>
  • 默认tag是打在最近的一次commit上,如果需要指定commit打tag:
  • git tag -a <version-number>
    -m "v1.0 发布(描述)" <commit-id>
  • 推送标签到远程仓库(首先要保证本地创建好了标签才可以推送标签到远程仓库)
  • git push origin
    <local-version-number>
  • 删除本地标签
  • git tag -d <tag-name>
  • 删除远程标签(删除远程标签需要先删除本地标签,再执行下面的命令)
  • git push origin
    :refs/tags/<tag-name>

6.关于git中stash的一些常用命令:

  • 存储当前的修改,但不用提交commit
  • git stash
  • 保存当前状态,包括untracked的文件
  • git stash -u
  • 展示所有stashes
  • git stash list
  • 回到某个stash的状态
  • git stash apply
    <stash@{n}>
  • 回到最后一个stash的状态,并删除这个stash
  • git stash pop
  • 删除所有的stash
  • git stash clear
  • 从stash中拿出某个文件的修改
  • git checkout <stash@{n}>
    -- <file-path>

最新文章

  1. http://blog.csdn.net/hitmediaman/article/details/6636402
  2. 超文本引用href的几种用法
  3. Unity2D之让土豆人动起来
  4. osgEarth编译的一些问题
  5. ubuntu基本配置
  6. 20160206.CCPP体系详解(0016天)
  7. C# .NET3.5 改为 到.NET2.0 时 TypedTableBase 报错解决方法
  8. 常用财务软件:用友,金蝶,新中大,速达,管家婆,金算盘,远方,远光,金钥匙,润衡,浪潮,上海博科,易商,任我行,千方百剂,智管,小蜜蜂,SAP,ORACLE,SSA,QAD,MAPICS,JDE。
  9. sgu 286. Ancient decoration(最小环覆盖)
  10. HDU 5176 The Experience of Love 带权并查集
  11. Altium Designer(DXP)小技巧之模块化布局
  12. eclipse环境下,java操作MySQL的简单演示
  13. [转]同一台Windows机器中启动多个Memcached服务
  14. think
  15. JAVA核心技术I---JAVA基础知识(集合set)
  16. JAVA自学作业03
  17. 转 edtools
  18. 【Java】同步阻塞式(BIO)TCP通信
  19. php -- 日期时间
  20. Linux-c系统编程

热门文章

  1. elasticsearch 分页查询实现方案
  2. Hibernate-原生SQL查询
  3. [SharePoint2010开发入门经典]12、SPS2010安全管理
  4. hdu 4717 The Moving Points(三分)
  5. IOS-2-C语言和Objective-C语言衔接学习资料
  6. BZOJ:2958 序列染色 DP
  7. 英语发音规则---T字母
  8. kaggle 中使用ipython
  9. Python使用functools模块中的partial函数生成偏函数
  10. Flask-上传文件和访问上传的文件