免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
git獲取linux內(nèi)核源碼及分支管理

1.    環(huán)境:ubuntu12.04.

2.    git安裝:sudo apt-get install git-core ,安裝完后查看版本如下:

          

3.   獲取linux內(nèi)核源碼:

    在kernel的官網(wǎng)上有三種版本,mainline,stable,longterm
    mainline是主線版本,最新的,

    stable是穩(wěn)定版,

    longterm是長(zhǎng)期支持版,

     還有一個(gè)是eol,當(dāng)然就是不再支持了。

      獲取內(nèi)核源碼可以通過(guò)到官網(wǎng)去下載,也可以通過(guò)git的方式進(jìn)行獲取。通過(guò)網(wǎng)上下載的方法慢且不方便,每次都得全部下載,通過(guò)git下載除了第一次要全部下載外后續(xù)的下載都比較快,且獲取不同版本的內(nèi)核也很方便,管理方便,與使用SVN獲取代碼類似,只需要執(zhí)行checkout命令即可。下面介紹如何利用git獲取源碼:

      新建一個(gè)文件夾,在該文件夾下 使用git命令git clone URL獲取linux內(nèi)核源碼如下:

      git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

      該指令的源地址可以到linux kernel的官方網(wǎng)站(https://www.kernel.org/)獲得,點(diǎn)擊gitweb選項(xiàng)卡在彈出的界面中切換到第一項(xiàng)選項(xiàng)卡在頂部或底部可以看到git源地址如下:

     

         以上地址用第一個(gè)即可,第一次獲取源碼會(huì)比較久,后續(xù)再進(jìn)行獲取及其它版本的獲取就比較快了。獲取完源碼后會(huì)在內(nèi)核源碼的頂層目錄下看到一個(gè)隱藏的.git文件夾,該文件夾是git用于版本庫(kù)管理的文件夾,對(duì)linux源碼本身無(wú)影響,這跟SVN的是類似的。

4.   查詢下載的源碼的版本:

      下載源碼后可以通過(guò)在源碼頂層目錄下執(zhí)行make kernelversion命令查詢?cè)创a的版本,如下

       

        也可以通過(guò)打開(kāi)源碼頂層目錄下的Makefile文件在文件開(kāi)始處看到,如下

       

     注意:要查看當(dāng)前運(yùn)行的系統(tǒng)的內(nèi)核版本可以使用uname -a,如下

      

當(dāng)然,也可行通過(guò)查看相關(guān)文件知道當(dāng)前運(yùn)行系統(tǒng)的內(nèi)核版本。

 

5.    獲取不同版本的kernel及分支管理:

       很多時(shí)候不僅需要最新穩(wěn)定版本的內(nèi)核,也需要以前版本的穩(wěn)定內(nèi)核,這時(shí)可以通過(guò)git的branch和checkout命令實(shí)現(xiàn)(必須是先完成了3中的clone才能切換到其它版本進(jìn)行其它版本源碼的獲取)。

查看branch的幫助信息可了解branch的使用方法,如下:

     其中選項(xiàng)r可以查看遠(yuǎn)程的分支版本,選項(xiàng)a可以查看本地和遠(yuǎn)程的分支版本,通過(guò)在branch后加分支名可以創(chuàng)建分支,選項(xiàng)d是刪除前合并分支,D則是強(qiáng)制刪除。

   創(chuàng)建分支:git branch <分支名>
  切換分支: git checkout <分支名>
  該語(yǔ)句和上一個(gè)語(yǔ)句可以和起來(lái)用一個(gè)語(yǔ)句表示:git checkout -b <分支名>
  刪除分支:git branch -d <分支名>, 如果該分支沒(méi)有合并到主分支會(huì)報(bào)錯(cuò),可以用命令git branch -D <分支名>強(qiáng)制刪除。

 通過(guò)git branch -a查看本地和遠(yuǎn)程的分支如下:

 

   其中最前面的v3.8.12和v3.8.y這兩個(gè)是我創(chuàng)建的本地的分支,以remotes開(kāi)頭的為遠(yuǎn)程的分支,第一行的*(no branch)中的*號(hào)是用于標(biāo)示當(dāng)前所在的本地分支,由于我當(dāng)前是在遠(yuǎn)程分支remotes/origin/linux-3.8.y所以會(huì)顯示*(no branch)。通過(guò)切換分支命令切換到不同的分支,如下切換到本地分支v3.8.12

   

    注:由于我在創(chuàng)建本地的v3.8.12的時(shí)候是在遠(yuǎn)程的3.9.0-rc6的版本上創(chuàng)建的,所以切換到v3.8.12的時(shí)候檢出的是3.9.0-rc的源碼(通過(guò)修改3.9.0可得新的分支,此出只為說(shuō)明用),可以通過(guò)make kernelversion查看確認(rèn)。由于切換到了本地的分支,所以查看分支時(shí)看到*號(hào)指向了v3.8.12。當(dāng)然如果你想創(chuàng)建一個(gè)新的版本庫(kù)最好不要在已有的分支或master上進(jìn)行創(chuàng)建,否則新的創(chuàng)建的分支會(huì)以當(dāng)前的分支進(jìn)行檢出,如上。

刪除并查看本地分支如下:

        

    從以上命令執(zhí)行可知,git不能刪除當(dāng)前所在的分支,必須退出要?jiǎng)h除的分支才能對(duì)該分支進(jìn)行刪除。通過(guò)執(zhí)行g(shù)it checkout remotes/origin/linux-3.8.y

切換到遠(yuǎn)程分支獲取3.8.8版本的內(nèi)核源碼,整個(gè)獲取過(guò)程不到一分鐘。同樣的,可以檢出其它版本的linux內(nèi)核源碼,若不清楚遠(yuǎn)程都有些什么版本可以通過(guò)git branch -r或-a查詢,選項(xiàng)r只能查遠(yuǎn)程版本,選項(xiàng)a會(huì)把本地和遠(yuǎn)程的版本都列出。

 

   現(xiàn)在大家都知道git 獲取的可不僅僅是“最新”的代碼,還包括歷史代碼。 你還可以用 git log, git tag, git branch -a.git branch -r 等命令查看內(nèi)核代碼的歷史信息, 標(biāo)簽信息(不同的正式版本應(yīng)該都打有相應(yīng)標(biāo)簽),分支信息等。 可以用 git checkout xxx 的命令來(lái)切換到 xxx 版本,xxx就是通過(guò)用git branch -a.git branch -r 命令查到的版本。

   git還會(huì)涉及到一些分支的合并、提交等的問(wèn)題,此處不作介紹。

 

6 .   git、svn與gitHub

 git是分布式的版本管理系統(tǒng),SVN是集中式的版本管理系統(tǒng)。也就是說(shuō)git可以進(jìn)行本地提交和檢出(可以是本地的單個(gè)人或多人間,此時(shí)類似SVN,其中某個(gè)人的電腦充當(dāng)了服務(wù)器),不需要遠(yuǎn)程服務(wù)器干涉,比如進(jìn)行了修改后可以進(jìn)行本地的提交,也可以檢出進(jìn)行再次修改,等到最終確定OK后如果需要,再提交到遠(yuǎn)程的版本庫(kù)中,這樣就會(huì)大大減輕遠(yuǎn)程服務(wù)器的負(fù)擔(dān),特別適合于開(kāi)源項(xiàng)目的版本管理,目前l(fā)inux、android等大型開(kāi)源項(xiàng)目都是通過(guò)git進(jìn)行管理的,因?yàn)檫@些開(kāi)源項(xiàng)目面向的是全球,所有人都可能會(huì)進(jìn)行訪問(wèn)。

       而SVN則不能,SVN必須是直接提交到遠(yuǎn)程服務(wù)器的版本庫(kù)中,沒(méi)有遠(yuǎn)程的服務(wù)器就無(wú)法提交或檢出,這樣如果很多人對(duì)服務(wù)器進(jìn)行訪問(wèn)就會(huì)對(duì)服務(wù)器 造成很大的負(fù)擔(dān)甚至癱瘓,所以SVN這種集中式的管理方式不適合開(kāi)源項(xiàng)目的版本管理,比較適合公司或個(gè)人的非開(kāi)源項(xiàng)目的代碼版本管理。

github是基于git的用于提供代碼的托管,GitHub可以托管各種git庫(kù),GitHub項(xiàng)目本身自然而然的也在GitHub上進(jìn)行托管,只不過(guò)在一個(gè)私有的,公共視圖不可見(jiàn)的庫(kù)中。對(duì)于gitHub的使用,要進(jìn)行用戶的注冊(cè),開(kāi)源項(xiàng)目可以免費(fèi)托管(你可以免費(fèi)申請(qǐng)托管你自己的開(kāi)源項(xiàng)目),但私有庫(kù)則并不如此,更多相關(guān)資料和使用方法可以在網(wǎng)上查,此文不作介紹。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
評(píng)《GIT和SVN之間的五個(gè)基本區(qū)別》
Git 常用命令詳解(二)
Git使用基礎(chǔ)篇
阿里云上配置CentOS安裝Git(小沐git安裝命令全集整理版)
Git 使用手冊(cè) | TKG
Repo和Git 版本管理常用命令
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服