集中式版本庫模式,如cvs、svn。在這種模式中,所有的程式設計師都會把他們的改動提交到伺服器上的乙個公共版本庫中。具體來說,每乙個程式設計師在本地有乙個工作目錄樹,其內容是改版本庫中最新的**。當他們在工作目錄樹中完成**修改後,就把改動提交到該版本庫中。
分布式版本控制系統,如git。使用分布式版本控制系統,每個人都會在本地有自己的版本庫,而不是連線到伺服器上的乙個公共版本庫。所有的歷史記錄都儲存在本地的版本庫中。向版本庫提交**無須連線遠端版本庫,而是記錄在本地的版本庫中。
在最底層,git記錄和跟蹤版本庫中組成檔案的各部分內容,而其他眾多版本控制工具則是以檔案為單位儲存。
#安裝yum install git-core
#配置全域性使用者名稱和位址郵件位址
git config --global user.name "your name"
git config --global user.email "[email protected]"
#在命令列中使用不同顏色顯示不同內容
git config --global color.ui "auto"
#初始化新版本庫
git init
#轉殖版本庫
git clone
#在本地版本庫中設定遠端版本庫的別名
git remote add
#新增新檔案或暫存已有檔案上的改動,然後提交
git add
git commit -m ""
#列出本定分支
git branch
#列出遠端分支
git branch -r
#列出所有分支
git branch -a
#基於當前分支(的末梢)建立新分支
git branch
#檢出另一條分支
git checkout
#把另一條分支合併到當前分支
git merge
#刪除分支
git branch -d
#不論欲刪除的分支是否已合併到當前分支
git branch -d
#顯示全部歷史記錄
git log
#顯示當前工作目錄樹和暫存區間的差別
git diff
#顯示工作目錄樹和版本庫間的差別
git diff head
#使用標籤標記里程碑
git tag
#顯示全部標籤
git tag
#從遠端倉庫同步
git pull
#更新到遠端倉庫
git push
.gitingore:在該檔案中定義忽略的檔案
.git/info/exclude:本地的版本庫會忽略這類檔案,同時又不會把此設定傳播出去
[b]git提供了三種與遠端版本庫通訊的協議
如何選擇網路通訊協議
如果希望速度最快,選擇git協議
如果安全第一,ssh協議是最好的選擇
如果不想更改防火牆限制規則,http或https協議是唯一的選擇
[b]linux下github連線[/b]
#檢查ssh keys
cd ~/.ssh
#備份並並移除已存在的ssh keys
lsmkdir key_backup
cp id_rsa* key_backup
rm id_rsa*
#生成新的ssh key
ssh-keygen -t rsa -c "[email protected]"
#新增你的ssh key到github
cat ~/.ssh/id_rsa.pub
#測試ssh -t [email protected]
[b]參考資料[/b]
《版本控制之道---使用git>>
git stash git stash list 顯示git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。git stash clear 清空git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。關於git stash的詳細解釋,適用場合,這裡做乙個說明 使用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 rev parse git dir 顯示工作區的根目錄 git rev parse show toplevel 相對於工作區根目錄的相對目錄 git rev parse show prefix git config 命令各引數的區別 git config e 版...Git學習筆記
git 學習筆記
Git 學習筆記