标签归档:git

git的基本架构欣赏

架构设计的代码或者文档,都是以有述无,写的是你看得见的代码,心思都在没有写的代码身上。如果你把心思都放在写的那些代码上,那架构设计就变成详细设计了。架构设计无法学样子,问题就在这个地方。

Git 协议版本 2 宣布推出:Git wire protocol

今天我们宣布推出Git协议版本2,这是Git的线路协议(wire protocol)的一次重大更新。该协议明确规定了在客户端与服务器之间如何传输克隆(clone)、拉取(fetch)和推送(push)。这个最新版摈弃了Git协议中最低效的部分之一,消除了可扩展性瓶颈,为将来线路协议方面的更多改进打通了道路。

春秋战国(Git)与大秦王朝(Svn)的爱恨情仇

关于Git的概念相信很多人都有所了解,但又不太了解。单从技术的角度去分析对于理解能力不太强的同学显得苍白无力。于是乎我试着用举例子的方式去还原繁杂的技术概念。

找了一天找不到 Bug ? 试试 Git 的二分法吧!

你一定遇到过,一个很久没修改过的功能,莫名其妙的出现了问题?肉眼查代码、屡逻辑完全找不到问题点?前两天还好好的功能,怎么这个今天就不行了?这两天改动了这么多代码,到底是那一次改动引发的 Bug?这样非崩溃的 Bug,有时候想要排查出问题,并不是一件容易的事情。我想,这个时候你会需要 git bisect !

Git的4个阶段的撤销更改

下面所有讨论,我们都假设只使用一个分支,也就是主分支 master 的情况,虽然这种作法并不符合 git 规范,但是现实情况中绝大部分用户是直接在 master 分支上进行工作的,所以在这里我们不去引入更加复杂的各种分支的情况,也不涉及标签 tag 的操作,只讲在最简单的主分支上如何回退。

关于Git与SVN

历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢?

看完这篇文章才对GIT有了大彻大悟的认识

。我们不要把git看得那么神秘,git的核心就是创建备份和恢复备份,但是衍生出一堆的新概念,这些抽象概念可以帮助我们快速的学会 git,但是要很好的使用git,我们还需要GIT的一些底层原理。本文章是从文件的层面出发来重新理解GIT的工作原理和GIT命令的具体实现。