“明天在食堂门口遇到了暗恋已久的女神,女神笑着给我递了张纸条就进食堂了,我关上纸条看到下面写的两个字“钙氧钨氧”,我认为是瞎写的就扔了,早晨我睡觉时越想越不对劲,当初我肠子都悔青了... ”

大家有没有被这个语文搞晕了,反正笨叔是晕了!

上面和大家讲一个git的案例。是这样的,咱们接了我的项目,在抉择内核版本的时候,客户说,既然笨叔的内核用4.0,那咱们就用4.0开发吧,咱们一听好快乐。客户说,你们先建一个git树,这个git树里须要蕴含Linux 4.0所有社区里的git log信息。

我让小明同学去建这个git树,后果小明同学搞了1天还没搞进去。他说,叔,我只会建git 树的时候一把把所有文件都push到新的git树里,这个把社区的git log搞进行怎么玩啊,我网上搜了一天了,也没找到靠谱的文章。

那咋办,咱们和小明同学一起来建这个树吧。

01 建树啦

比方咱们在码云上建这棵树。

1) 登录Gitee网站,注册一个新账号。

2) 增加SSH key到gitee上。

3) 在Gitee中创立我的项目

在“Name”对话框中填入“ben-linux-test”,其余放弃默认设置,点击“New”按钮就胜利创立了一个新的git仓库了。从github网页中咱们能找到咱们新建的仓库的地址:

https://gitee.com/benshushu/b...

4) 下载这个仓库到本地。

$ git clone https://gitee.com/benshushu/b...

5) 这时候这个仓库是空的,咱们生成一个补丁并且提交到近程仓库中。

$ cd ben-linux-test

$ echo "#ben-linux-test" >> README.md

$ git add README.md

$ git commit -m "firstcommit"

$ git push origin master

最初通过git push origin master命令把本地仓库推送到github上,须要输出github上的用户名和明码。

6) 下载Linux官网仓库代码。接下来的工作就要在这个本地的git仓库里下载官网linux-4.0的代码,那应该怎么呢?首先咱们须要增加Linux官网的git仓库。这里能够应用“git remote add”命令来增加一个近程仓库地址,如上面命令所示。

$ git remote add linux https://git.kernel.org/pub/sc...

git fetch命令能够把新增加的近程仓库代码下载到本地。

$ git fetch linux

7) 创立Linux 4.0分支。

接下来咱们须要把官网仓库中Linux 4.0标签的所有commit增加到Gitee上的master分支上。首先须要从remotes/linux/master分支上checkout一个名为linux-4.0的本地分支。

$ git checkout -b linux-4.0linux/master

$ git reset v4.0 --hard

这样本地linux-4.0分支就是真正基于Linux-4.0的内核,并且蕴含了Linux 4.0上所有的提交的信息。

8) 合并本地批改到Linux 4.0上

接下来的工作就是须要把本地linux-4.0的分支上的commit通通都merge到咱们本地的master分支上。

$ git checkout master

$ git merge linux-4.0 --allow-unrelated-histories

最初这个本地的master分支的提交就变成这样:

这样咱们本地master分支上就蕴含了所有linux-4.0内核的git log信息了。最初一步只须要把这个master分支推送到咱们Gitee上的近程仓库即可。

$ git push origin master

推送实现之后,咱们在Gitee网页上最终成果如图所示。

这下小明同学心悦诚服了!