发布时间:2012-12-27 12:26:30
git bare/development repogit仓库根据角色来分 可以划分为两类 bare 和 development bare仓库没有working directory 可以通过git init --bare来建立bare仓库 bare仓库的名字通常情况下是xxx.git 下图是bare仓库的目录结构 这个仓库目测和我们平时使用的working directory目录下的.git目录类似 可以简单把bare仓库看成是黑盒 里面存的就是git的一些元数据 从bare仓库pull 或者向它push我们的commits development仓......【阅读全文】
发布时间:2012-12-25 18:04:06
同事的一个项目做build 做完后发现working dir里 原先的文件全没了 生成一堆为tar包准备的文件 目录等等 杂七杂八的玩意儿 在没有了解到git reset 还有checkout之前 我都是直接把working dir掉 然后重新clone一个出来 呵呵 现在想想还是蛮无聊的 git reset可以让repo, working dir重置为一个特定的 已知的状态 大多数情况下是想要重置到之前的某个commit的点上 当然也可以用revert什么的 但是reve......【阅读全文】
发布时间:2012-12-20 23:59:00
git merge操作的时候免不了会遇到conflict的状况 找出什么地方出现conflict很简单 git给我们很多的提示 查看conflict的文件 git加入的提示和cvs或者其它的版本控制工具类似 但是git在处理这些conflict的时候给我们提供更多的提示 我们可以利用多种方法来定位conflict的来源 对比不同branch之间的不同等等首先,找到包含conflict的文件 一般的命令包括git diff git statusgit ls-files -u (这个命令的结果比较奇葩)找到文件后 cat一下 就可以找到conflict具体的地方找到了conflict的......【阅读全文】
发布时间:2012-12-09 13:05:55
最近在看version control with git 看到commit range的相关章节 对于commit range的理解加深了很多 而且要理解commit range也很简单了 C10..C 这个commit range 可能涉及到了多个分支 要确定这个commit range包含了哪些commit 其实这个问题很好回答 把整个commit的历史看成是一个有向图 最近的commit指向之前的commit C~10..C所包括的commit 就是那些从C向前回溯可以到达的commit 删去那些可以从C~10回溯可以到达的commit 看下面这个图 ......【阅读全文】