git小白非常适合的一个练习

说来惭愧,以前弄git,老是焦头烂额,后来某只人肉wiki介绍了一个网站,http://learngitbranching.js.org/,发现简直是git小白的福音。

原来一直都是看各种git介绍的文章似懂非懂,真正用的时候脑子也转不过弯来。这个网站的好处是你可以尽情地练习~

前提条件是知道git add和git commit,git add 是把文件放到暂存区,而git commit是把文件从暂存区到仓库

下面的内容是我学习的笔记。

git commit

某个同学说,你就把git记录看成无数的commit,然后branch相当于指针,git就相当于commit们和指向它的指针们,后来想想觉得挺有道理的

我平时提交的时候,都是这样提交的

git commit -m "message"

这个游戏里面简化掉了

git commit

然后蓝色背景的表示初始状态,红色的表示要达成的目标
比如第一关,红色背景比蓝色北京多了两个结点,所以我们就执行两次commit


还有一个是当前指针指向,git一定会有一个当前指针,

git branch

branch理解为git的分支,就是在一个commit上面有两个指针,为啥总觉得像一条路有了岔路口
创建新分支有两种方式,比如创建newBranchName的分支

git branch newBranchName
git checkout newBranchName

第一行是创建新分支,第二行是把当前指针指向新分支
它们可以用一行解决

git checkout -b newBranchName

在新的指针上面继续commit,就相当于开了一条新路

git merge

开完新路之后可以合并,合并的一种方式是git merge

图3

如上图所示,如果我们master分支想要合并bugFix的提交,那么可以

git merge bugFix

然后你就发现master这里新建了一个提交,这个提交又是bugFix的下一个提交,又是master的下一个提交


git rebase

git merge在很多分支的时候,会导致分支很乱,而第二种合并分支的方法是 git rebase。Rebase 实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去。
如下图,

image.png

如果用rebase合并的话

git rebase master

结果如下图


关于rebase,我的理解是将一个分支放到另外一个分支下面,其实rebase后面是带两个参数的

git rebase branch1 branch2

然后他们的分支就会按照,branch1,branch2的顺序排列,如果branch2省略,那么就指代当前分支。如上面的例子, git rebase master,此时指针在bugFix后面,所以最终的结果是master在前,bugFix在后。

HEAD

有的时候会提醒分离的HEAD,其实HEAD是当前的指向,它可以指向提交,也可以指向分支。
如下图,如果用git checkout C1的话,HEAD就从分支master脱离。原来HEAD指向master的时候,master指向C1, 所以它本质是指向C1的。

^和~

如果我们想要HEAD指向当前提交的上一个提交

比如说现在我们的HEAD指向了master,我们想要指向C1,那么

git checkout master^

就会变成

image.png

当然我们用

git checkout HEAD^

也能做到
如果我们想向前几个分支,那么可以使用~,比如向前移动两个分支

git checkout HEAD~2

git branch -f

有的时候我们想移动分支,那么就用到git branch -f了,它允许我们强制移动分支。
具体用法是

git branch -f branchName Location

比如我们想让master分支移动到HEAD指向的上一个提交。

git branch -f master HEAD^

有了这个命令以后,我们就可以让分支的指向自由移动了~
因此把



变成

相信也不难吧~

git checkout HEAD^
git branch -f master C6
git branch -f bugFix C0

get reset和git revert

他们都是用来撤销commit,不同的是,git reset适合本地的,而git revert适合远程的,也就是说如果 git reset适用于并没有同步到远程的commit,
比如,回退一个提交

git reset HEAD~1

reset以后,当前分支指针指向的就是你reset的时候提交的
你还可以通过传入这些标记来修改你的缓存区或工作目录:

--soft – 缓存区和工作目录都不会被改变
--mixed – 默认选项。缓存区和你指定的提交同步,但工作目录不受影响
--hard – 缓存区和工作目录都同步到你指定的提交

而利用revert

git revert HEAD~1

git cherry-pick

cherry-pick能够将其他分支的提交复制到当前分支下面
比如下图



我们希望
只把side分支的C2和C4提交合并到master

git cherry-pick C2 C4

得到


交互式git rebase

当你想要改变当前分支的提交的时候,这个可以做到,比如说你想更改最近三个提交,那么

git rebase -i HEAD~3

然后再文本编辑器编辑就好了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容

  • 心情不好,头痛难忍,觉着自己太low了,说话不到位,没有把对方说倒,说的明白,心里一阵懊恼,烦躁。想把工作辞掉自己...
    蓝海心理阅读 215评论 0 0
  • 大学,是在外地上的。一个人,无依无着。 家乡是座小城,山川不美,物产不丰。只有波折的马路还在隐约透露着煤炭落日的余...
    陛陛陛下啊阅读 194评论 0 1
  • 在这个治安混乱,小偷,骗子猖獗的社会,手机被盗基本上是家常便饭。经常在空间,朋友圈中看到某某手机被盗了,有的人还不...
    小七要快乐阅读 12,561评论 99 336