編輯:關於android開發
【聲明】
歡迎轉載,但請保留文章原始出處→_→
生命壹號:http://www.cnblogs.com/smyhvae/
文章來源:http://www.cnblogs.com/smyhvae/p/3981720.html
聯系方式:[email protected]
【正文】
一、初識Git:
Git是目前世界上最先進的分布式版本控制系統(沒有之一)。它的開發者就是大名鼎鼎的Linux操作系統的作者Linus Torvalds。Git被開發出來的初衷是為了更好的管理Linux內核,而現在卻廣泛應用於各種項目中。Git迅速成為最流行的分布式版本控制系統,尤其是2008年,GitHub網站上線了,它為開源項目免費提供Git存儲,無數開源項目開始遷移至GitHub,包括jQuery,PHP,Ruby等等。
那那什麼是版本控制系統呢?如果有一個軟件,不但能自動幫我記錄每次文件的改動,還可以讓同事協作編輯,這樣就不用自己管理一堆類似的文件了,也不需要把文件傳來傳去。如果想查看某次改動,只需要在軟件裡瞄一眼就可以,豈不是很方便?
這個軟件用起來就應該像這個樣子,能記錄每次文件的改動:
二、在Linux平台安裝Git:
首先,可以試著輸入git,看看系統有沒有安裝Git:
$ git The program 'git' is currently not installed. You can install it by typing: sudo apt-get install git
如果用Debian或Ubuntu Linux,通過一條命令即可完成安裝:
sudo apt-get install git
注:
老一點的Debian或Ubuntu Linux,要把命令改為“sudo apt-get install git-core”,因為以前有個軟件也叫GIT(GNU Interactive Tools),結果Git就只能叫git-core了。由於Git名氣實在太大,後來就把GNU Interactive Tools改成gnuit,git-core正式改為git。
如果是其他Linux版本,可以直接通過源碼安裝。先從Git官網下載源碼,然後解壓,依次輸入:./config,make,sudo make install這幾個命令安裝就好了。
三、在Windows平台安裝Git:
Windows下要使用很多Linux/Unix的工具時,需要Cygwin這樣的模擬環境,Git也一樣。Cygwin的安裝和配置都比較復雜,不建議折騰。不過,有高人已經把模擬環境和Git都打包好了,名叫msysgit,只需要下載一個單獨的exe安裝程序,其他什麼也不用裝,絕對好用。
msysgit是Windows版的Git,下載鏈接:http://msysgit.github.io/。下載完成後,開始安裝。
安裝時,彈出如下界面,默認即可:
各參數解釋如下:
接著,彈出如下界面,默認即可:
上方圖片,是設置環境變量 : 選擇使用什麼樣的命令行工具, 一般情況下我們默認使用Git Bash即可, 默認選擇。各參數解釋如下:
接著,彈出如下界面,默認即可:
總而言之,按照默認的配置安裝即可。安裝完成後,在開始菜單裡找到“Git”->“Git Bash”,彈出出一個命令行窗口,說明Git安裝成功:
二、各種配置:
(1)配置身份:
安裝成功後,還需要配置身份(即配置本地用戶和郵箱),這是用來上傳本地倉庫到GitHub中, 在GitHub中顯示代碼上傳者。我們輸入如下命令進行配置:
$ git config --global user.name "Your Name" $ git config --global user.email "[email protected]"
因為Git是分布式版本控制系統,所以,每個機器都必須自報家門:你的名字和Email地址。
注:git config命令的--global參數,用了這個參數,表示你這台機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的用戶名和Email地址。
配置完成後可以使用同樣的命令來查看是否配置成功,只需要將最後的名字和郵箱地址去掉即可。
(2)設置Git本地項目開發庫默認路徑:
如果設置了,就不用每次打開Git再cd打開目錄了。方法:右鍵git快捷圖標(名叫:Git Bash),找到快捷方式-起始位置,把你的項目地址放在這裡就可以了。默認設置如下圖:
修改後如下圖:
(3)創建版本庫:
版本庫又名倉庫,英文名repository,可以簡單理解成一個目錄,這個目錄裡面的所有文件都可以被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。
所以,創建一個版本庫非常簡單,首先,選擇一個合適的地方,新建一個空目錄,我新建的目錄是:E:\codes\github\smyhvae,我們先跳到這個目錄中來:
$ cd /e/codes/github/smyhvae
注:通過pwd命令可顯示當前目錄。
然後,通過git init命令把這個目錄變成Git可以管理的倉庫:
$ git init Initialized empty Git repository in e:/codes/github/smyhvae/.git/
瞬間Git就把倉庫建好了,而且告訴你是一個空的倉庫(empty Git repository),細心的讀者可以發現當前目錄下多了一個.git的目錄(這是一個隱藏文件夾),這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裡面的文件,不然改亂了,就把Git倉庫給破壞了。
三、把文件添加到版本庫:
【聲明】
首先這裡再明確一下,所有的版本控制系統,其實只能跟蹤文本文件的改動,比如TXT文件,網頁,所有的程序代碼等等,Git也不例外。版本控制系統可以告訴你每次的改動,比如在第5行加了一個單詞“Linux”,在第8行刪了一個單詞“Windows”。而圖片、視頻這些二進制文件,雖然也能由版本控制系統管理,但沒法跟蹤文件的變化,只能把二進制文件每次改動串起來,也就是只知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統不知道,也沒法知道。
不幸的是,Microsoft的Word格式是二進制格式,因此,版本控制系統是沒法跟蹤Word文件的改動的,前面我們舉的例子只是為了演示,如果要真正使用版本控制系統,就要以純文本方式編寫文件。
因為文本是有編碼的,比如中文有常用的GBK編碼,日文有Shift_JIS編碼,如果沒有歷史遺留問題,強烈建議使用標准的UTF-8編碼,所有語言使用同一種編碼,既沒有沖突,又被所有平台所支持。
使用Windows的童鞋要特別注意:
千萬不要使用Windows自帶的記事本編輯任何文本文件。原因是Microsoft開發記事本的團隊使用了一個非常弱智的行為來保存UTF-8編碼的文件,他們自作聰明地在每個文件開頭添加了0xefbbbf(十六進制)的字符,你會遇到很多不可思議的問題,比如,網頁第一行可能會顯示一個“?”,明明正確的程序一編譯就報語法錯誤,等等,都是由記事本的弱智行為帶來的。建議你下載Notepad++代替記事本,不但功能強大,而且免費!記得把Notepad++的默認編碼設置為UTF-8 without BOM即可:
【步驟】
現在我們在e/codes/github/smyhvae目錄下編寫一個readme.txt文件,並在裡面寫一些東西。
進入版本庫:
$ cd /e/codes/github/smyhvae
把一個文件放到Git倉庫只需要兩步。
第一步:用命令git add告訴Git,把文件添加到倉庫:
更新本地版本庫(.指當前所有目錄及文件):
$ git add .
當然,如果你僅僅是添加一個文件,可以這樣寫:
$ git add readme.txt
更新一個目錄這樣寫:
$ git add src/
第二步,用命令git commit告訴Git,把文件提交到倉庫:
$ git commit -m "一些說明" [master (root-commit) a2ebf86] 一些說明 1 file changed, 2 insertions(+) create mode 100644 readme.txt
git commit命令中,-m後面輸入的是本次提交的描述信息,可以輸入任意內容,當然最好是有意義的,這樣你就能從歷史記錄裡方便地找到改動記錄。
嫌麻煩不想輸入-m "xxx"行不行?確實有辦法可以這麼干,但是強烈不建議你這麼干,因為輸入說明對自己對別人閱讀都很重要。
git commit命令執行成功後會告訴你,1個文件被改動(我們新添加的readme.txt文件),插入了兩行內容(readme.txt有兩行內容)。
為什麼Git添加文件需要add,commit一共兩步呢?因為commit可以一次提交很多文件,所以你可以多次add不同的文件,然後最後一起commit。
關於版本庫的常用操作,將在下一個章節中進行講解。
本文參考鏈接:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
學習Android從0開始之背景篇-Android系統介紹 android系統介紹 Android(安卓),是一個以Linux為基礎的開源移動設備操作系統,主要用於智能手
【騰訊Bugly干貨分享】Android Linker 與 SO 加殼技術,buglyandroid本文來自於騰訊bugly開發者社區,非經作者同意,請勿轉載,原文地址:
FFmpeg使用手冊 - FFmpeg 編碼支持與定制3.1 FFmpeg本身支持一些編碼、封裝與協議,但是支持的依然有限,有些是因為licence,有些是因為相對來說比
寮€鍙戝熀浜庨珮寰稴DK鐨凙ndroid杞﹁澆瀵艱埅搴旂敤杞‖浠剁幆澧?Macbook Pro MGX 72Android Studio 1.5.1閰鋒瘮榄旀柟7瀵稿鉤