編輯:Android開發實例
git是免費的開源的分布式的版本控制系統。
我說的直白點,要強調的點是每個git clone下來的版本庫都是一個完整的版本庫,包括所有的歷史記錄和版本信息,不需要依賴網絡,這點在使用的過程中你一定會有感觸,git不是蓋的。
git很快,但是這點我沒有大的感覺;
git易於使用,相對svn而言,我不覺得git比之簡單,但是總體來說git還是比較容易的,尤其是服務器端的部署非常簡易。
本文僅僅介紹一下git的簡單使用。關於一些不常用的東西盡量會過濾掉。
1.基本命令。
/** *這裡列舉幾個常見的git命令,讓大家過過目 **/ 1)基本操作 >git init //初始化版本庫 >git clone //克隆版本庫 >git add //添加新文件 >git commit //提交到本地版本庫 >git checkout //檢出(分支、標簽) 2)分支 >git branch //列出分支 >git branch -r //列出遠程分支 >git branch -a //列出所有分支 >git branch newBranch //基於當前分支創建新分支newBranch >git branch -D branchName //刪除分支branchName >git branch -d branchName //僅刪除已合並分支branchName >git merge <--> //合並分支
>git tag
3)歷史 >git log //顯示全部歷史 >git log -p //顯示版本歷史,以及版本間的內容差異 >git log -5 //顯示最近的5個提交 >git log -5 -p //顯示最近的5個提交,以及版本間的內容差異 >...(很多很多參數...) >git diff 112 115 //顯示112和115版本的差別
2.開始使用git。
我在github建立來一個工程qianxudetianxia:
[email protected]:fjtianxia/qianxudetianxia.git
我們以這個為例子來演示如何使用git。
說明:關於github上創建repository以及本地的配置,我已經配置完成,這不是本文要講的重點,所以我接下來直接演示使用。
3.克隆版本庫
使用git clone命令,克隆操作就是創建遠程版本庫的本地拷貝。
舉例說明,我想把服務器的版本庫克隆到本地的code/文件夾下:
> cd code > git clone [email protected]:fjtianxia/qianxudetianxia.git //該命令會在code文件夾下創建qianxudetianxia文件夾,作為遠程版本庫的一個本地拷貝,輸出結果如下 Cloning into qianxudetianxia... remote: Counting objects: 8, done. remote: Compressing objects: 100% (5/5), done. remote: Total 8 (delta 1), reused 0 (delta 0) Receiving objects: 100% (8/8), done. Resolving deltas: 100% (1/1), done.
如果你不想看到生成的文件夾是qianxudetianxia,只要在上面命令後加上另外的名字即可:
//下面則是在本地生成test目錄,作為遠程版本庫的一個本地拷貝 > git clone [email protected]:fjtianxia/qianxudetianxia.git test
補充一點,svn中本地的版本只是服務器版本的一個切面,但是git不同,本地版本是一個完整的版本庫,包括所有的歷史信息和版本信息。
我在Android拓展系列(3)--Android源碼下載文章中提到的下載android源碼也用到了git clone命令,如下:
>git clone git://android.git.kernel.org/platform/frameworks/base.git android-sdk-source
區分:git init和git clone的差別,git init用於創建版本庫,這個內容我在本文此略去(本文著重於git的了解,關於創建和搭建服務器配置還有客戶端的使用都故意略去),git clone則是從遠程服務器克隆,包括歷史記錄。
4.添加文件
git中存放代碼的地方有三個,第一個是工作目錄樹,也就是我們看到的代碼文件夾;第二是暫存區,是本地中和遠程版本庫的一個緩沖區域,暫存區一般存放的是本地准備要提交到遠程版本庫的修改;第三個是遠程版本庫。
git add命令是把工作目錄樹中的修改添加到暫存區。
> cd qianxudetianxia/ > touch test.txt //創建test.txt文件 > git add test.txt //添加到本地版本庫 > touch a.txt b.txt //創建多個文件 > git add . //提交當前文件夾的增加項到本地版本庫
添加成功後,我們用git status命令來查看以下當前工作目錄樹的狀態:
在分支branch上有三個新文(new file)件。
5.提交到本地版本庫
//git commit是提交命令,把修改提交到本地版本庫中 //-m參數,添加說明文字 > git commit -m 'add the three new file' [master a0885c9] add the three new file 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 a.txt create mode 100644 b.txt create mode 100644 test.txt
提交成功。
6.查看分支。
>git branch -a //輸出如下,其中master是本地分支,origin是遠程版本庫的別名 * master remotes/origin/HEAD -> origin/master remotes/origin/master
7.合並到遠程版本庫。
//把本地分支master的修改合並到遠程版本庫origin中(的遠程分支master) > git push origin master Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (2/2), 294 bytes, done. Total 2 (delta 0), reused 0 (delta 0) To [email protected]:fjtianxia/qianxudetianxia.git 8a7d54d..a0885c9 master -> master
到此,git的最基本使用已經熟悉了。
8.查看log。
git log命令用於查看修改日志,它的參數非常豐富,在此不一一列舉了,參考本文開始的基本命令部分。
9.查看分支 。
我們先查看分支,再添加新的分支branch1來看看效果:
新建分支後,我們可以通過checkout切換到指定分支。
綠色顏色標識了當前所在分支。
除了可以新建分支,也可以刪除分支:
分支功能是git最強大的一部分,還可以從基於遠程分支創建新分支,合並分支等等。
10.查看標簽。
Tag標簽,是為了記錄一些重要的事件,被打成一個標志,比如android的版本號等等裡程碑事件。
tag和branch的添加,切換的使用方式基本相同。
tag是只讀的,該tag對應的工作目錄樹內容不能再修改了,而branch則不是。
11.小結。
git真是一個很不錯的東西,推薦大家去了解下,並在工作中能去普及使用。
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
引言在windows安裝Android的開發環境不簡單也說不上算復雜,本文寫給第一次想在自己Windows上建立Android開發環境投入Android浪潮的朋友
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
一、效果圖 二、代碼 代碼如下: public class TextSubView extends TextView { private TextPaint mP