Chinaunix首页 | 论坛 | 博客
  • 博客访问: 251149
  • 博文数量: 11
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 129
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-09 23:45
个人简介

新手上路

文章分类

全部博文(11)

文章存档

2014年(10)

2013年(1)

我的朋友

分类: 项目管理

2014-02-28 16:20:38

git checkout 是git最常用的命令之一,同时也是很危险的命令,因为它会重写工作区。

用法一:
git checkout [-q] [] [--]
commit 是可选项,如果省略则相当于从暂存区进行检出覆盖工作区的文件。git reset重置的默认值是HEAD,而checkout检出的默认值是暂存区。因此重置一般用于重置暂存区(使用--hard参数则重置暂存区和工作区),而检出命令主要是覆盖工作区(如果有参数,则会替换暂存区和工作区的指定文件)。
示例:
git checkout -- filename
用暂存区中filename文件来覆盖工作区中的filename文件。相当于取消自上次执行git add filename以来的本地修改。
这个命令很危险,会覆盖本地的修改!


git checkout branch -- filename
维持HEAD的指向不变。用branch分支中的filename替换暂存区和工作区中的filename。这会将暂存区和工作区中的filename文件直接覆盖。


git checkout -- .或者 git checkout .
这条命令最危险!会取消所有本地的修改。用暂存区中的所有文件覆盖工作区中的所有文件。不给用户任何确认的机会!

用法二:
git checkout []
git checkout的这种用法不使用路径pach参数。会改变HEAD头指针。 主要用于切换分支,省略branch用于对工作区进行状态检查。
示例:
git checkout branch
切换到branch分支,更新HEAD指向branch分支,以及用branch指向的树更新暂存区和工作区。

用法三:
git checkout [-m] [[-b|--orphan] ] []
这种用法主要是创建和切换到新的分支,新的分支从,指定的提交开始创建。


阅读(2167) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~