Git学习

首先这个不是入门教程,如果要入门的话可以google 下git入门,你会得到比较多的资料,这里主要是对git里的一些概念进行清晰的解释。如果你连git环境都没有的话就没必要看下去了,先goole下git 入门吧。

推荐下一个git在线学习网站,可以通过例子来联系命令并看到返回结果

http://pcottle.github.com/learnGitBranching/

1.commit

在一个Git存储库中的一个commit记录快照目录中的所有文件。这就像一个巨大的复制和粘贴,但是更重要!这个很简单没啥好说的。
2.branch

创建分支,这个在git里是非常轻量级的。这也是git和其他版本控制工具比较大的区别,git 对分支的定义比较轻量,他鼓励多创建分支。

初始的样子


创建分支后:


这个时候如果继续commit还是会在master上面提交,newImage将不会随着改变


如果想要在newImage上进行提交,需要使用checkout来切换branch。git checkout newImage; git commit 之后



3.merge

用来合并分支的,比如你在master分支上,你想合并bugFix的代码


这个时候bugFix 如果想合并master分支,因为bugFix在master的下游,所以会共同指向c4这个节点。

运行 git checkout bugFix; git merage master 



4.rebase

另一种形式的合并,相当把在master 这个分支下面把bugFix从开出之后的补丁都打上,比如这是刚开始的时候


git rebase master 之后


这里可以看到rebase不会对master造成影响,如果这个时候matster commit 了,将会产生一个以C2为父节点的C4节点。如果master想要移动到c3节点,只要git checkout master;git rebase bugFix。

5.Head

Head 相对当前commit分支是一个标志性标签,他表示你当前分支最新的commit位置。

刚开始的时候:HEAD -> master -> C1


执行git checkout C1 后:HEAD -> C1


6.Relative Refs

在实际的操作过程中没有这样的可视化tree给你看,通常是通过git log来查看,而且commit的hash值通常很长。这也是git 为什么会有相对引用。

开始的时候


执行 git checkout master^ 后


可以看到HEAD往上移动到master的父节点。

^只能往上移动一个,~后面可以带数字表示移动几位

git checkout HEAD~4


使用相对路径最常用的方法是你可以将分支直接移动到某个commit,需要带上-f参数,比如:git branch -f master HEAD~3 ,就是把master分支移到HEAD的前三位的地方

6.Reversing Changes 撤销变更

git reset 退回到某个commit,这个将会清除历史


执行git reset HEAD~1 后


C2 就相当与不存在了

为了撤销变更并和其他人分享这次变更可以使用:git revert

git revert HEAD

 

一个新的commit在C2下面,但是这个C2‘是对C2的反转(撤销),这样你可以把你的改变和其他人分享。

ok,就先到这把。后续的高级特性等以后需要使用了再介绍


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值