源代码管理工具GIT之使用

转载:http://blog.csdn.net/furtherchan/article/details/5536319

源代码管理工具GIT之使用

Kernel Hackers' Guide to githttp://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 branchM.

假设您在分支 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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值