Git的一些基本概念

  • 设置自己的用户名和邮箱
    git config –global user.name "Your Name"git config –global user.email "you@example.com"
  • 修改到提交之间有一个缓存区
    • 提交到缓存区
      git add .
      当前所有修改提交到缓存区,也可以单独指定
    • git diff --cached
      查看缓存区和本地仓库里的差异
    • git diff HEAD
      查看已缓存和当前的区别
    • git diff
      查看当前未缓存的和本地仓库里的区别
    • git diff --stat
      显示摘要
  • 撤销缓存区里的一个更改,例如hello.rb
    git reset HEAD -- hello.rb
  • git rm file
    将file从文件缓存区、本地目录中移除
  • git rm file --cached
    只从缓存区移除,保存本地目录中的


分支操作

  • git branch
    列出可用的分支
  • git branch jser.me
    创建jser.me分支
  • git checkout -b jser.me
    检查jser.me分支是否存在,不存在就创建,并且切换过去
  • git branch -d jser.me
    删除分支jser.me
  • git merge
    其它分支合并到当前分支
  • git checkout -b gh-pages origin/gh-pages
    检出并且设置当前分支为远程分支gh-pages


Log查看

  • git log --oneline
    紧凑查看
  • git log --graph
    图形显示
  • git log erlang ^master
    查看只在erlang分支里的修改
  • git log --grep
    正则取一个log
  • git shortlog master
    生成一个简报


里程碑

  • git tag -a v1.0
    打上v1.0


恢复删除的文件

  • git checkout commitid -- pathfile


与人分享

  • git remote
    列出远端的别名
  • git remote add remotename remotepath
    以remotename命名remotepath
  • git remote rm remotename
    删除别名为remotename的远程仓库
  • git fetch
    只下载
  • git pull
    下载并更新
  • git push remotename branch
    推送本地分支branch到远程仓库remotename的branch分支

一些原则新功能尽可能的开分支,但是定期合到master上来,不要把某一个分支长

时间的开发 使用git-flow

Git的几个关键知识点

  • 有三种状态:

    • 暂存 staged
    • 修改 modify
    • 已经提交
  • git status
    • 前面状态有两列,头一列是暂存区的改动情况,如果你commit,它会提交,第二列是当前共工作区的状态,它是不会被提交的

冲突之后的解决找到冲突的地方,手工解决,然后git add filename; git commite

只合并特定的分支特定文件

  • 使用命令
    git cherry-pick #commitid
  • checkout方法
    git checkout branch -- filename


查看和远程分支的对比

  • 先把远程分支搞到本地
    git fetch origin master:temp, 从远程的origin仓库的master分支下载到本地并新建一个分支temp
  • 比较分支
    git diff temp
  • 合并特定的文件,参考上面的
  • 删除无用的分支
    git branch -d temp


git diff

  • 只显示有对比的文件
    git diff 608e120 4abe32e --name-only
  • 配合搞成压缩文件
    git diff 608e120 4abe32e --name-only | xargs zip update.zip
  • 如果不是查看每个文件的详细差别,而是统计一下有哪些文件被改动,有多少行被改 动,就可以使用‘--stat' 参数。
  • diff指定的文件


查看今天的更改

  • git log --since=1.days
 
 

Git的一些基本概念的更多相关文章

  1. GIT入门篇-基本概念与操作

    GIT 首先必须说明的是, 这篇文章不是阐述GIT原理性和比较深入的文章.只是对于日常开发中比较常用的需求的总结和GIT这些命令大体的原理解释.所以掌握这个只能说能够应付一定的开发需求.但是如果你是个 ...

  2. GIT入门笔记(3)- git中的一些概念和原理

    一.git管理过程中所处的4个阶段: 工作目录(workspace) 暂存区(index) 本地仓库(local repository) 远程仓库(remote repository) 二.工作目录+ ...

  3. git学习记录——基础概念和文件的基本操作

    夸一下git git是当前世界上最先进的分布式版本控制系统 优势: 1.不必联网 2.Git极其强大的分支管理,把SVN等远远抛在了后面. 集中式的代表CVS和SVN 分布式的代表BitKeeper, ...

  4. svn老鸟转用git必须理解的概念

    不都是SCM代码管理嘛,有很大区别么?很多svn老鸟都是抱着这样的心态去学习git,然后无一幸免地陷入“查阅过很多资料,依然掌握不好”的困境,至少我们团队是这样的. 网上的资料确实已经很多了,却没有把 ...

  5. Android中 Git 使用中几个概念

    1.仓库(版本库) 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史 ...

  6. svn git 必须理解的概念

    不都是SCM代码管理嘛,有很大区别么?很多svn老鸟都是抱着这样的心态去学习git,然后无一幸免地陷入“查阅过很多资料,依然掌握不好”的困境,至少我们团队是这样的. 网上的资料确实已经很多了,却没有把 ...

  7. git 学习之基本概念

    在学习 Git 的时候我们经常会听到工作区,版本库,暂存区.那么这些东西指的是什么呢?本次我们就一起学习一下. 工作区 顾名思义:工作的区域,那么你一般在哪工作呢?当然是你本地可以看到的目录啦! 版本 ...

  8. [TFS4]TFS git地址,分支概念

    1)上传本地代码到TFS a.Generate Git Credentials,即创建git账户密码 b)上传本地代码 git add *git commit -m "纳入管理" ...

  9. [git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)

    http://kasicass.blog.163.com/blog/static/39561920133294219374/ 创建测试仓库 $ git init $ echo "line o ...

随机推荐

  1. aggregation 详解2(metrics aggregations)

    概述 权值聚合类型从需要聚合的文档中取一个值(value)来计算文档的相应权值(比如该值在这些文档中的max.sum等). 用于计算的值(value)可以是文档的字段(field),也可以是脚本(sc ...

  2. jquery checkbox的判断和设置方法

    jquery的操作复选框偶尔能用到,每次都是百度去查,不得不说现在百度的搜索真的很垃圾,好多特别老的文章都排在前面,想要甄别出有用的东西挺费劲.脑子又记不住这么多东西,好记性不如烂笔头,还是记下来吧 ...

  3. ubuntu:configure error:cannot find ssl libraries

    安装SSL库,openssl或者libssl: sudo apt-get install openssl sudo apt-get install libssl configure的时辰加上选项: . ...

  4. 在.bashrc中,使用python获取本机IP地址(现在只支持wlan)

    其实最好的办法是写个单独的脚本去查找IP,但是如果实在不愿意单写一个脚本文件,也可以直接将代码嵌入.bashrc中 在~/.bashrc下加入下面这行代码即可使用python获取本机的wlan的IP地 ...

  5. Access数据库在线压缩的实现方法

    如果在 Access 数据库中删除数据或对象,或者在 Access 项目中删除对象,Access 数据库或 Access 项目可能会产生碎片并会降低磁盘空间的使用效率.压缩 Access 数据库或Ac ...

  6. 20140717 随笔 技术文章安家至CSDN

    今天意外的看到了阳光小强的博客,接着在CSDN里看着各种博客,又有一种冲动,想在CSDN里安家.我是一个不安分的人,或者说是不能坚持的人,喜新厌旧属于我吧.看到新鲜的就要去试一下,但是能够坚持下来的却 ...

  7. 让C# Excel导入导出,支持不同版本的Office

    问题:最近在项目中遇到,不同客户机安装不同Office版本,在导出Excel时,发生错误. 找不到Excel Com组件,错误信息如下. 未能加载文件或程序集“Microsoft.Office.Int ...

  8. StrHelper

    public class StrHelper { private static string passWord; //加密字符串 /// <summary> /// 判断输入是否数字 // ...

  9. 层叠上下文 Stacking Context

    层叠上下文 Stacking Context 在CSS2.1规范中,每个盒模型的位置是三维的,分别是平面画布上的x轴,y轴以及表示层叠的z轴.对于每个html元素,都可以通过设置z-index属性来设 ...

  10. 为UITextView添加与UITextField一样的边框——UITextField默认边框颜色、宽度、圆角

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3789052.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...