GIT
1.git是一款開源的分佈式版本控制工具(最快、最簡單、最流行)
2.其餘版本控制工具:CVS、SVN(集中式、用的最多)、ClearCase(IBM收費)、VSS(微軟)、Perforce(外企用的多、收費)
3.GIT與SVN比較:
-git速度遠遠比svn快
-svn是集中式 git是分佈式管理
-svn使用分支比較笨拙 git能夠輕鬆擁有無限個分支
-svn必須聯網才能工做 git支持本地版本控制工做
-舊版本的svn會在每個目錄放置一個svn git只會在根目錄擁有一個git
4.(1)svn的工做原理
svn帳號->把整個項目的源碼下載到本地checkout->UpDate將本地的源碼更新至服務器上的最新版本->提交commit
(2)Git的工做原理
clone 到本地->commit到本地->pull到遠程->push其餘人獲取新的數據->commit提交
5.本地git演示(終端)
(1)建立一個文件夾 用做本地代碼的提交
(2)使該文件夾具備git功能
git init初始化本地文件夾
(3)拉取文件到該文件夾 這個時候該文件尚未歸入版本管理
(4)查看當前文件夾內文件git的信息
git status
(5)untracked files提示 該文件沒有歸入版本追蹤
(6)把文件歸入管理 git add 文件名或者git add . 添加當前文件夾下全部的文件
(7)文件的狀態發生改變 提示將要被提交到本地 文件已經放在暫存區
(8)提交文件到本地的數據庫
git commit -m 「 評論」
(9)查看本地git提交的信息
git log
(10)設置git用戶信息
git config 「user.name」 用戶名
git config 「user.email」 email
「s「+tab 補全文件信息
(11)當文件發生變化
提示已經被改變 modified
提交到本地服務器
git add .
git commit -m 「 」
簡便寫法 git commit -a -m 「 評論 (備註) 」
(12)查看當前文件和以前版本的區別
git diff 綠色部分爲更改部分
(13)查看提交信息(查看全部版本號)
git log 或者 git reflog
(14)還原到某個版本
git reset --hard 版本號(7位)
版本號 git reflog
6.git遠程操做
(1)創建了一個遠程文件夾 至關於遠程服務器
(2)又創建2個文件夾 模擬本地代碼倉庫
(3)初始化遠程文件夾
git init --bare
建立完成以後 通常不須要進行額外的操做 用於本地同步代碼倉庫到遠程服務器
(4)經理clone遠程倉庫到經理本地
(5)經理設置賬號信息
(6)放置ignore文件 目的是有的文件不須要上傳 配置信息能夠從第三方獲取 要改文件名 只留文件的後綴
(7)xcode文件添加進經理本地的git倉庫
(8)push到遠程服務器
7.分支 用來解決bug
(1)經理髮現bug
(2)經理開新的分支
(3)經理提交bug400到本地和遠程
(4)小王pull全部的代碼和分支
(5)小王在bug400分支上進行代碼修改
(6)小王提交bug400分支到本地和遠程
(7)經理髮現分支修改完成 要作合併分支的處理
(8)merge bug400 ->master提交給服務器
8.衝突
(1)經理在35行寫了代碼
(2)經理提交代碼到本地和遠程
(3)小王也在35行寫了代碼
(4)小王提交到本地
(5)小王push出現過時提示 pull
(6)pullXcode提示文件衝突
(7)小王修改文件衝突消失
(8)小王提交給本地 提交給遠程服務器
(9)經理pull
9.sourceTree
相似於xcode 可是比xcode直觀 功能強大
10.遠程倉庫託管
CSDN OSChina
建立賬號-邀請員工加入到該項目中git
11.SSH具體查看網站的幫助文檔數據庫