Git的一些基本概念

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
 
 
posted @ 2014-09-02 16:11  唸随爱  阅读(356)  评论(0编辑  收藏  举报