git之常用一

最開始下linux內核代碼的緣故,知道了git,嗯,分佈式的版本管理系統,聽起來不錯。

得先學會使用吧,最初始的目的就是下載代碼,於是先學會了下載代碼的命令:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

一直以來該方法屢試不爽,直到有一天我想下載android內核的代碼,於是敲了下面的命令:

git clone https://android.googlesource.com/kernel/common kernel-comm

下載完成後進入目錄想看下代碼時我傻了,才發現目錄下除了.git外什麼也沒有(當然.和..還是有的)

百思不得其解,趕緊上網去查,才知道原來是這個工程有比較多的分支,而主分支上沒有代碼,怎麼辦呢

於是看了下遠端有哪些分支:

git branch -r

  origin/HEAD
  origin/android-2.6.39
  origin/android-3.0
  origin/android-3.3
  origin/android-3.4
  origin/android-3.4-compat
  origin/coupled-cpuidle
  origin/master

我們本地已經有了版本庫,只要把相應分支的代碼checkout出來一份應該就可以了吧:

git checkout origin/android-3.4

待到命令執行完,ls了一下,果然:

ls
arch     CREDITS        drivers   include  Kbuild   lib          mm      REPORTING-BUGS  security  usr
block    crypto         firmware  init     Kconfig  MAINTAINERS  net     samples         sound     virt
COPYING  Documentation  fs        ipc      kernel   Makefile     README  scripts         tools

於是想明白了,我們使用git clone是把整個版本庫下載下來了,並且會默認在本地創建master分支。

而如果湊巧master分支上沒有代碼的話則目錄就爲空了,這時候我們就需要從版本庫checkout某個分支的代碼下來。

另外git branch -a可以查看到所有的分支信息。


下載了代碼,肯定會需要更新的嘛,看了下git命令的輸出

git pull搞定了。

pull到自己感興趣的合入時,就想看看別人改了什麼,有需求就有谷歌啊,於是又發現了一條很好玩的命令:

git log -p

該命令可以查看所有提交的信息,包括其diff噢,本來試了下git log和git diff都不咋好用,原來是加上參數纔好用,阿彌陀佛。


ok,平時的使用基本上也就這些吧,自己又沒有去管理一個工程,自然也用不到上傳啊,拉分支啊,這些命令。

不過我現在啊,覺得分支這個東西還是得搞清楚的,有空看看,待下篇介紹給自己吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章