Git总结

Git和GitHub一直在用,但是没有详细学习过,只会几个简单的命令,做一些提交上传的操作。这几天公司没项目,比较闲,就把Git的原理和命令详细看了一遍。

Git的官方网站是 http://git-scm.com/

《Git Pro》是一本好书,详细覆盖了Git的方方面面,所有你遇到的关于Git的内容都可以在上面找到。而且它免费,有中文版和英文版

《Git Pro》英文版 在线阅读</br>
《Git Pro》中文版在线阅读

书是好书,就是太厚。花时间。而且如果没有任何Git的操作体验,直接看这本书头会比较大。所以我看了会就没看了。在网上找到另外一篇教程,详细介绍了Git的日常使用,不罗嗦,讲的都是项目中经常用到的功能。

教程作者是廖雪峰。你可以在这里找到这篇教程 教程地址</br>
他还写了一个配套的iOS App。有兴趣的也可以下载支持。

这边把学到的知识做个总结:

以下内容来自原上面提到的教程

基本命令

  • git init :初始化仓库
  • git add <filename> :添加未跟踪文件到暂存区 或 添加修改的文件到暂存区
  • git rm <filename> :将文件从git跟踪列表中删除
  • git commit -m 'commit log' :提交一个版本到git
  • git log :查看所有的提交历史记录
  • git status :查看当前git的状态
  • git checkout -- <file> :撤销工作目录文件的修改
  • git reset HEAD <file> :取消暂存

版本管理

  • git reset --hard HEAD^ :版本回退上一个版本
  • git reset --hard HEAD^^ :版本回退上上个版本
  • git reset --hard HEAD~100 :版本回退前一百个版本
  • git reflog :查看操作记录,可以找到所有历史commit
  • git diff HEAD -- <file> :命令可以查看工作区和版本库里面最新版本的区别

远程管理

  • git clone git@github.com:michaelliao/gitskills.git :将远程库下载下来
  • git remote add origin git@server-name:path/repo-name.git :添加远程库地址
  • git push -u origin master :提交的远程库
  • git remote -v:查看远程库信息
  • git push origin branch-name:从本地推送分支,如果推送失败,先用git pull抓取远程的新提交
  • git checkout -b branch-name origin/branch-name:在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致
  • git branch --set-upstream branch-name origin/branch-name:建立本地分支和远程分支的关联
  • git pull:从远程抓取分支,如果有冲突,要先处理冲突

分支

  • git branch:查看分支
  • git branch <name>:创建分支
  • git checkout <name>:切换分支
  • git checkout -b <name>:创建并切换分支
  • git merge <name>:合并某分支到当前分支
  • git branch -d <name>:删除分支
  • git log --graph:命令可以看到分支合并图

在实际开发中,我们应该按照几个基本原则进行分支管理: 首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活; 那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本; 你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

标签 Tag

  • git tag <name>:用于新建一个标签
  • git tag -a <tagname> -m "blablabla..."可以指定标签信息
  • git tag -a v0.1 -m "version 0.1 released" 3628164
  • git tag:可以查看所有标签
  • git push origin <tagname>:可以推送一个本地标签
  • git push origin --tags:可以推送全部未推送过的本地标签
  • git push origin :refs/tags/<tagname>:可以删除一个远程标签
  • git tag -d <tagname>:可以删除一个本地标签
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,716评论 4 54
  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 3,987评论 3 27
  • 本文为 Git教程的学习笔记,教程源自廖雪峰的博客。这是一个由浅入深,学完后能立刻上手的Git教程。另,附上另一本...
    七弦桐语阅读 6,275评论 5 47
  • 不知道哪一天她醒来 竟受伤忘记了所有记忆 只有一个邪魅的男子 他告诉她 她什么都不必知道 只需要被他好好宠着就好 ...
    超元气少女初夏阅读 1,056评论 0 1
  • “这么晚有什么事?”总统抬起头,质问突然闯进来的男子。 “我个人和你并没有什么怨仇,但是你多活一天,国民就要多受一...
    书呆子快跑阅读 1,161评论 0 0