2012年11月23日

git rebase总结

摘要: git rebase,顾名思义,就是重新定义(re)起点(base)的作用,即重新定义分支的版本库状态。要搞清楚这个东西,要先看看版本库状态切换的两种情况:我们知道,在某个分支上,我们可以通过git reset,实现将当前分支切换到本分支以前的任何一个版本状态,即所谓的“回溯”。即实现了本分支的“后悔药”。也即版本控制系统的初衷。还有另一种情况,当我们的项目有多个分支的时候。我们除了在本地开发的时候可能会“回溯”外,也常常会将和自己并行开发的别人的分支修改添加到自己本地来。这种情况下很常见。作为项目管理员,肯定会不断的合并各个子项目的补丁,并将最新版本推送到公共版本库,而作为开发人员之一,提交 阅读全文

posted @ 2012-11-23 18:54 涛涛宝贝 阅读(440) 评论(1) 推荐(0) 编辑

git 分支 merge和rebase

摘要: GIT branch 的本质是一个提交链表的指针。创建一个新的branch,实质是创建了当时提交链表的一个新指针。该指针和原指针独立操作,各自叠加新的提交后,形成各自的分支链。“在分支上”的含义,新建一个分支之后,建立此分支以前的提交也称为在这个分支上。HEAD的含义:当前branch。 随着git branch checkout 改变。分支不是线形性:如果发生过merge,则即使HEAD相同,链表也不具有唯一性。(即某些提交有多父情况)为什么要及时删掉不用的分支:防止提交查看时显示过多的分支。merge 时,如果自动merge没有冲突,则 GIT 产生一个新的提交。如果有 冲突,则GIT产. 阅读全文

posted @ 2012-11-23 17:33 涛涛宝贝 阅读(997) 评论(0) 推荐(0) 编辑

git中怎样回到某个已经提交的版本

摘要: 敲入gitk在gitk图形界面中查询你要进入某个分支的哈希值,复制或者只复制一部分。关闭gitk图形界面,敲入命令 git checkout hasi_value既可以进入某个版本。 阅读全文

posted @ 2012-11-23 16:40 涛涛宝贝 阅读(552) 评论(0) 推荐(0) 编辑

git裸库

摘要: 什么是git裸库?通过git --bare init初始化的,这个是相对于工作目录而言的,工作目录中有正常的编辑的文件,而裸库只存放这些文件的commit之所以叫做裸仓库是因为这个仓库只保存git历史提交的版本信息,而不允许用户在上面进行各种git操作,如果你硬要操作的话,只会得到下面的错误:("this operation must be run in a work tree ")git --bare init --shared 设定共享方式--shared[=(false|true|umask|group|all|world|everybody|0xxx)]share制 阅读全文

posted @ 2012-11-23 16:14 涛涛宝贝 阅读(962) 评论(0) 推荐(0) 编辑

导航