1、git簡介
git是一款免費、開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。
2、特點
分布式相比於集中式的最大區別在於開發者可以提交到本地,每個開發者通過轉殖(git clone),在本地機器上拷貝乙個完整的git倉庫。
3、git的功能特性:
從一般開發者的角度來看,git有以下功能:
(1)從伺服器上轉殖完整的git倉庫(包括**和版本資訊)到單機上。
(2)在自己的機器上根據不同的開發目的,建立分支,修改**。
(3)在單機上自己建立的分支上提交**。
(4)在單機上合併分支。
(5)把伺服器上最新版的**fetch下來,然後跟自己的主分支合併。
(6)生成補丁(patch),把補丁傳送給主開發者。
(7)看主開發者的反饋,如果主開發者發現兩個一般開發者之間有衝突(他們之間可以合作解決的衝突),就會要求他們先解決衝突,然後再由其中乙個人提交。如果主開發者可以自己解決,或者沒有衝突,就通過。
(8)一般開發者之間解決衝突的方法,開發者之間可以使用pull 命令解決衝突,解決完衝突之後再向主開發者提交補丁。
從主開發者的角度(假設主開發者不用開發**)看,git有以下功能:
(1)檢視郵件或者通過其它方式檢視一般開發者的提交狀態。
(2)打上補丁,解決衝突(可以自己解決,也可以要求開發者之間解決以後再重新提交,如果是開源專案,還要決定哪些補丁有用,哪些不用)。
(3)向公共伺服器提交結果,然後通知所有開發人員。
4、優點:
適合 分布式開發,強調個體。
公共伺服器壓力和資料量都不會太大。
速度快、靈活。
任意兩個開發者之間可以很容易的解決衝突。
離線工作。
缺點:資料少(起碼中文資料很少)。
學習週期相對而言比較長。
不符合常規思維。
**保密性差,一旦開發者把整個庫轉殖下來就可以完全公開所有**和版本資訊。
5、經典的git開發過程
6、windows上安裝git
msysgit是windows版的git,**或國內映象,按預設選項安裝。
安裝完成後,開始選單裡找到「git」->「git bash」,跳出乙個類似命令列視窗,說明git安裝成功。再在命令列輸入:
$ git config --global user.name "your name"
$ git config --global user.email [email protected]
7、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即可直接完成安裝。
若為老版,則輸入sudo apt-get install git-core.
8、mac os x上安裝git
(1)安裝homebrew,然後通過homebrew安裝git,參考homebrew的文件:
9、建立版本庫
版本庫repository,又名倉庫,這個倉庫或目錄裡面的所有檔案都可以被git管理起來,每個檔案的修改、刪除,git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以「還原」。
(1)建立乙個空目錄
$ mkdir learngit
$ cd learngit
$ pwd
/name
(2)通過git init命令把這個目錄變成git可以管理的倉庫
$ git init
initialized empty git repository in /name/.git/
可以發現當前目錄下多了乙個.git目錄,該目錄是git跟蹤管理版本庫的,最好不要修改。
若沒有看到.git目錄,是因為這個目錄預設是隱藏的,用ls -ah命令可看見。
10、新增檔案到版本庫
Git學習筆記
git stash git stash list 顯示git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。git stash clear 清空git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。關於git stash的詳細解釋,適用場合,這裡做乙個說明 使用git...
git 學習筆記
1 git checkout master 切換分支 2 git checkout b xx 新建分支,同時切換到該分支 3 dev 4 git add a 將變動檔案,提交到index 5 git commit m 將 暫存區 檔案,加入到版本控制中。6 git checkout master 7...
Git 學習筆記
顯示版本庫.git所在的目錄 git rev parse git dir 顯示工作區的根目錄 git rev parse show toplevel 相對於工作區根目錄的相對目錄 git rev parse show prefix git config 命令各引數的區別 git config e 版...