Git笔记

如何查看提交中是否包含重命名或复制?

$ git log --name-status -M -C -1  
commit c04ecb6edd602a8463b5239a5fde900b2b3 (HEAD -> 256818)
Author: gqqnbig <gqqnbig@gmai[......]

继续阅读

git变基

git rebase命令可接受一到两个定位参数。当接收两个参数时,要加--onto命名参数。用法如下

git rebase 不要的分支 要的分支 --onto 目标分支

hljs.initHighlightingOnLoad();

合并A到B是什么意思?

Git里我们经常创建分支最后将它们合并,但是合并A到B、合并B到A、把A和B合并在一起,这三种动作的意思相同吗?本文解释这个问题。

设当前分支为B,合并A。如果是快进合并,则A和B会指向同一提交。在可快进的情况下,合并A到B与合并B到A的效果相同。

但是如果不可快进,会产生一个新的合并提[……]

继续阅读

git svn逐步获取旧历史

git svn克隆时可选择从svn的哪次提交开始克隆。如果svn仓库很大,git svn克隆就很慢。我们一般都会获取最近的svn历史,然后就开始工作。那么能不能在闲暇时间继续获取更久远的历史呢?本文提供一些方法。

方法一:变基

git svn先克隆最近的历史,如-r 29999:3001[……]

继续阅读

版本控制中的三方合并

在学习Git时,一般会学到Git的合并方式,除了快进之外,还有三方合并(three way erge)。三方合并也是Subversion等传统版本控制软件的合并策略。本文讲解什么是三方合并,为何需要三方合并,为何不使用两方合并。

考虑以下两个分支,其中1bdd3be5d6c1b0e2为这两个[……]

继续阅读