转自http://www.cnblogs.com/idche/archive/2011/07/05/2098165.htmlGIT 

学习笔记

集中化的版本控制系统
CVCS(Centralized Version Control System)
分布式版本控制系统 DVCS(Decentralized Version Control System) Git 基础要点 http://progit.org/book/zh/ch1-3.html
1:直接快照,而非比较差异
2:近乎所有操作都可本地执行
3:时刻保持数据完整性 (Git 使用 SHA-1 算法计算数据的校验 ,40 个十六进制字符(0-9 及 a-f)组成)
4:多数操作仅添加数据
5:三种状态(已提交(committed),已修改(modified)和已暂存(staged)) GIT安装 http://progit.org/book/zh/ch1-4.html 配置GIT http://progit.org/book/zh/ch1-5.html
$ git config --global user.name "John Doe"  //global对所有的repo都有效
$ git config --global user.email johndoe@example.com 查看配置
git config --list 1. GIT 基础
初始化仓库
$ git init
$ git add *.c
$ git add README
$ git commit -m 'initial project version' 从现有仓库克隆
$ git clone git://github.com/schacon/grit.git 仓库状态
$ git status 跟踪新文件
$ git add fileName 忽略某些文件
$ cat .gitignore
*.[oa] //忽略以 .o 或 .a 结尾的文件
*~ //忽略所有以波浪符(~)结尾的文件 查看已暂存和未暂存的更新
$ git diff
$ git diff --cached //已经暂存起来的文件和上次提交时的快照之间的差异 提交更新
$ git commit -m "message" // 简单的提交方式
$ git commit -a -m "message" // 跳过add 步骤 把已经跟踪的文件全部提交 移除文件
$git rm fileName
$ git rm --cached readme.txt //移除跟踪但不删除文件 移动文件
$ git mv file_from file_to 日志
$ git log
$ git log –p -2 // -p 提交内容的差异 -2最近两次
$ git log --stat//显示简要的增改行数统计 修改最后一次提交
$ git commit --amend
//---第2次提交修改了第一次提交
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend 取消已经暂存的文件
$ git reset HEAD fileName 取消对文件的修改(回退到以前未修改的状态) //很有用 也很危险
$ git checkout -- fileName 2. 远程仓库的使用   查看当前的远程库
$ git remote -v // -v 列出远程地址 添加远程仓库
$ git remote add Name git://github.com/paulboone/ticgit.git 从远程仓库抓取数据
$ git fetch [remote-name]
$ git pull// 合并远程的全部分支到本地(不确定) 推送数据到远程仓库
$ git push origin master //推送 origin 到 master 查看远程仓库信息
$ git remote show origin 远程仓库的删除和重命名
$ git remote rename pb paul// pb 改成 paul 分支对应前缀也会发生变化
$ git remote rm paul// 貌似删除
    
     本地分支重命名
     $ git branch -m <old_branch> <new_branch> 3. 打标签 http://progit.org/book/zh/ch2-6.html
列显已有的标签
$ git tag
$ git tag -l 'v1.4.2.*'//搜索标签 新建标签
$ git tag -a v1.4 -m 'my version 1.4' //新建v1.4标签 消息是 my version 1.4 分享标签
$ git push origin [tagname] //提交 一个标签
$ git push origin --tags // 推送所有本地标签 删除
$ git tag -d [tagname] //删除标签
$ git push origin :refs/tags/tagname //删除远程标签 4. 技巧和窍门
提示 // 敲两次tab
Git 命令别名
     
$ git config --global alias.co checkout // git co 代替了 git checkout
     $ git config --global alias.st status
     $ git config --global alias.ci commit
     $ git config --global alias.br branch
     $ git config --global alias.unstage reset HEAD --
     $ git config --global alias.last log -1 HEAD
     当然这里最好是通过修改 vi ~/.gitconfig文件,格式如
     [alias]
      st = status
       ..... 5. 分支
创建分支
$ git branch testing // 创建testing
$ git checkout testing// 切换到testing
$ git checkout -b iss53 //创建并切换到iss53
$ git merge hotfix //把hotfix 分支合并到当前分支 查看分支
$ git branch -v//最后一次commit信息
$ git branch --merged | --no-merged//筛选出你已经(或尚未)与当前分支合并的分支 删除
$ git branch -D testing 推送
     $ git push origin serverfix//把当前推送到 serverfix分支,省略远程分支名,表明当前分支和远程分支存在追踪关系,同样本地分支名也是可以省略的
   $ git push <远程主机名> <本地分支名>:<远程分支名>  //和pull相反, git pull <远程主机> <来源地_远程分支名>:<目的地_本地分支名>
     更新同步 $ git fetch 

     删除远程分支 git push origin :branchname git branch –r //查看所有分支信息 //获取远端分支 $ git checkout -b sf origin/serverfix 

6. 服务器上的GIT ---http://progit.org/book/zh/ch4-3.html 

生成 SSH 公钥 ---http://github.com/guides/providing-your-ssh-key。 $ cd ~/.ssh //公钥的位置 $ ls authorized_keys2 id_dsa known_hosts config id_dsa.pub $ ssh-keygen //如果上面看不到公钥 可以用次来创建 会要求输入存放位置 和密码 

7. 储藏 $ git status //储藏 $ git stash list//储藏列表 $ git stash apply//应用储藏 
参考资料 http://zh.wikipedia.org/wiki/Git http://progit.org/book/zh/

[git]Git常用命令的更多相关文章

  1. GIT 版本控制常用命令学习汇总

    GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...

  2. git log 常用命令及技巧

    git log常用命令以及技巧 1.git log 如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者.提交日期.和提交说明.如果记录过多,则按Page Up.Pag ...

  3. Git基本常用命令

    Git基本常用命令如下: mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git ...

  4. Git是什么、Git的功能、为什么versioncontrol用Git、Git的常用命令、Git的优缺点

    Git是什么 git是目前世界上最先进的分布式版本控制系统(没有之一). Git是用于 Linux内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版 ...

  5. Git stash 常用命令

    参考: Git: How to look at the stash Git学习笔记05--git stash Git stash 常用命令 1.git stash: 保存当前的工作进度: 2.git ...

  6. Git 基础 —— 常用命令

    Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 git init 创建 Git ...

  7. git之常用命令

    git之常用命令 1.下载远程仓库最新代码 $ git pull --rebase origin master 2.上传代码 $ git push origin master 3.退出编辑 ESC + ...

  8. git的常用命令。。

    git的常用命令.. git help <command>  显示command的help git show  显示某次提交的内容 git show $id git co -- <f ...

  9. Git - Git基本常用命令

    Git基本常用命令 mkdir:         XX (创建一个空目录 XX指目录名) pwd:          显示当前目录的路径. git init          把当前的目录变成可以管理 ...

  10. Git的常用命令记录

    Git的常用命令记录 1.与远程仓库建立连接,即关联一个远程库 git remote add origin git@server-name:path/repo-name.git; 2.查看当前分支  ...

随机推荐

  1. JavaScript个人学习记录总结(二)——验证表单输入之模式匹配

    该示例检查从文本窗口部件中获取姓名和电话号码这两个表单数据的有效性.当文本框中的值发生变化时,即引发一个change事件,从而可以调用一个函数来检查这两个输入值的格式是否正确. validator.h ...

  2. JavaWeb学习记录(四)——日期和数字的格式转换

    一.Date转为String (1) public class DateUtil {    private static SimpleDateFormat sdf = new SimpleDateFo ...

  3. thinkphp 验证码的使用

    在thinkphp中使用验证码很容易,只要调用thinkphp现有的方法就可以.当然,php的GD库肯定是要开的(就是在php.ini中要加载gd模块). thinkphp 3.2 --------- ...

  4. MySQL数据库高并发优化配置

    在Apache, PHP, mysql的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分.对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接 影响到论坛的速度和承载量! ...

  5. C/C++语言void及void指针深层探索(转)

    转自:http://www.lanou3g.com/blog/sort/SelfiOS/page/78 1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一 ...

  6. ARM体系的7种工作模式

    一.ARM体系的CPU有以下7种工作模式:   用户模式(usr)    大多数程序运行于用户模式 特权模式   系统模式(sys)   运行具有特权的操作系统任务 异常模式 中断模式(irq)   ...

  7. javaweb在线预览

    需要工具: 1.openoffice 将word.excel.ppt.txt等文件转换为pdf文件 2.SWFTool 将pdf转换为swf文件 3.flexPaper是一个开源轻量级的在浏览器上显示 ...

  8. Linux 挂载新硬盘

    Linux 的硬盘识别 在 /dev/ 下建立相应的设备文件.如 sda 表示第一块 SCSI 硬盘 hda 表示第一块 IDE 硬盘(即连接在第一个 IDE 接口的 Master 口上) scd0 ...

  9. git 教程 ,常用命令

    Git使用手册 http://www.cnblogs.com/lantingji/p/5942721.html git官网 https://git-scm.com/ Git的奇技淫巧 http://w ...

  10. 出现Fatal IO error 11 (资源暂时不可用) on X server :0.0.的可能原因及解决方案

    我在使用python的过程当中发现了这个有这样的错误,后来看了下面这篇文档才知道原因所在. 最近在编写一个局域网的聊天工具,在编写客户端时,我把界面部分和事件处理函数写好后,准备再开一个线程用于接收服 ...