源代码管理工具GIT之使用
2010-04-27 20:52
330 查看
源代码管理工具GIT之使用
见Kernel Hackers' Guide to git(http://linux.yyz.us/git-howto.html)准备开始
安装 git
可以从以下网址下载最新稳定版本:
http://www.kernel.org/pub/software/scm/git/
下载Linux内核树
$ git clone /
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/ linux-2.6
注意:内核树非常大,这会下载超过300M的压缩数据
基本任务
更新本地内核树到最新的2.6.x上游内核树(快速合并)
$ cd linux-2.6
$ git pull / git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
或者更简单地,从已克隆的本地路径中直接拉过来:
$ cd linux-2.6
$ git pull
撤销所有本地修改:
$ git checkout -f
签入您的修改
# 转到存储库
$ cd linux-2.6
# 做一些修改
$ vi drivers/net/sk98lin/skdim.c
# 注意: 运行 'git add' 和 'git rm' 来增加或删除文件.
# 签入所有修改
$ git commit -a
撤销最近的提交:
某些时候您做了一些提交,或仅仅修改,但想消除这些提交.
$ cd my-kernel-tree-2.6
$ git reset HEAD~2 # 使最后两个提交消失
将会使最上部的两个提交消失. 如果有人下载了提交过的树,但您又刚刚消除了,请不要这样做.
注意这与git revert大不相同, git revert会应用一个恢复补丁作为额外的提交.
以diff格式列出工作目录所有的更改.
显示改变从最后的'git add' 或 'git rm'开始:
$ git diff
显示改变从最后的提交开始:
$ git diff HEAD
获取工作目录中所有改变的汇总
$ git status
列出所有变更集的描述
$ git log
# 'git log' 的 "-p" 选项另外还会以变更集文本的方式显示差异. "--stat" 选项还会以变更集文本的方式显示差异状态.
列出特定文件的所有变更集
(这里以为例, net/ieee80211/ieee80211_module.c)
$ git log net/ieee80211/ieee80211_module.c
分支
列出所有分支
$ git branch
获取想要的当前分支到工作目录
$ git checkout $branch
创建新分支,并把它作为当前的
$ git checkout -b my-new-branch-name master
检查哪个分支是当前的
$ git status
('git branch'也可以显示当前分支,使用一个"*" 来指示)
获取当前分支与主分支的差异
在大多数有分支的树中,.git/refs/heads/master包含了当前的上游树,很方便用来比较和合并. (没有分支的树,'master' 简单地包含您最新的更改)
$ git diff master..HEAD
(这等价于 git diff HEAD, 当与HEAD使用的时候)
获取当前分支与主分支的变更列表
$ git log master..HEAD
(这等价于 git log, 当与HEAD使用的时候)
更或者是所有的变更描述,获取每个变更的在线总结:
$ git shortlog master..HEAD
从一个分支合并变更到另一个
Let us suppose that you do work on branch A and branch B, and after work on those two branches is complete, you merge the work into mainline branch M.
假设您在分支 A 和 分支 B 上工作,并且两个分支工作后都完成了,然后把两个分支都合并到主线分支 M 上
$ git checkout M # 转到分支 M
$ git merge A # 合并 A 到 M
$ git merge B # 合并 B 到 M
杂项(此处略,未看,Sorry)
优化存储库.
签出一个较老的内核版本.
以伯克利mbox-format文件应用所有补丁.
不要忘了经常下载tags.
标记一个特殊的提交.
扩展阅读
另外一个很好的介绍是官方指南git tutorial, 更深入的见man page documentation.
相关文章推荐
- 源代码管理工具GIT之使用
- VS2015 Git 源代码管理工具使用记录
- kidd风的IOS日志之源代码管理工具Git的基本使用
- VS2015 Git 源代码管理工具使用记录
- 使用 Git 管理源代码
- ubuntu14.04,安装Git(源代码管理工具)
- 版本管理工具Git(2)git的使用
- 【TFS安装】源代码管理工具TFS2013 UPDATE3 安装与使用
- 源代码管理工具SVN和Git小结
- 源代码管理工具TFS2013安装与使用
- 源代码管理工具TFS2013安装与使用【转载】
- 使用 Git 管理源代码
- git管理代码报错(使用Sourcetree工具) 有子模块Submodule(未解决)
- 使用 Git 管理源代码
- [转] 微软源代码管理工具TFS2013安装与使用详细图文教程(Vs2013)
- IOS Git源代码管理工具
- git图形化工具GitKraken的使用——分支管理策略
- 使用GIT工具获取android应用程序源代码
- 源代码管理工具GIT
- 微软源代码管理工具TFS2013安装与使用图文教程