版本控制—— SVN & GITgit
提問windows
什麼是版本控制?安全
是可以一直監視代碼文件的變動,並存儲這些文件以便未來引用的一種機制(軟件)服務器
爲何要使用版本控制?網絡
不使用版本控制還會出現什麼問題?框架
不使用版本控制可能出現的問題ssh
版本控制(Revision Control)分佈式
是維護工程藍圖的標準作法,能追蹤工程藍圖從誕生一直到定案的過程。是一種記錄若干文件內容變化,以便未來查閱特定版本修訂狀況的系統svn
如今就開始使用版本控制工具
若是是開發團隊中的一員,使用版本控制是強制性的!
若是是單人開發,也強烈建議如今就開始使用版本控制
使用版本控制能夠:
版本控制工具
SVN
SVN基本交互流程圖
SVN服務器安裝
VisualSVN-Server
到公司,管理員創建用戶名&密碼,而後告知svn的地址
http: 80
https: 443
Subversion目錄規範
SVN客戶端軟件
有了Xcode,爲何還要使用客戶端軟件?
SVN複習
服務器:代碼倉庫
協議頭:
http: 80 不勾選
https: 443 勾選安全
服務器上選中服務器,點擊右鍵,選擇」properties(屬性)」network(網絡)
客戶端:Versions
1. Repository Bookmark書籤,代碼倉庫的標籤
2. SVN的一個代碼倉庫中能夠放多個項目
3. 用客戶端最大的目的就是輔助檢查是否有遺漏的狀況
大部分工做在Xcode中均可以完成
Xcode工做:先更新,再提交!
Xcode中,最好不要多人同時修改一個Storyboard!
注意!!!
.svn這個隱藏目錄記錄着兩項關鍵的信息
注意:千萬不要手工修改或刪除這個 .svn隱藏目錄和裏面的文件! 不然將會致使本地的工做副本被破壞,沒法再進行操做
SVN與Xcode集成演練
關於分支的細節:
使用SVN咱們應該
提示
GIT
GIT簡介
GIT是一款自由和開源的分佈式版本控制系統,用於敏捷高效地處理任何或小或大的項目
是Linus(李納斯)的第二個偉大做品,2005年因爲BitKeeper軟件公司對Linux社區中止了無償使用權。Linus迫不得己本身開發了一個分佈式版本控制工具,從而Git誕生了
幾乎全部優秀的iOS第三方框架都使用GIT
目前移動開發領域,愈來愈多的公司開始轉向GIT
Xcode中已經集成了最經常使用的GIT功能
SVN vs GIT
SVN
集中式
效率略差
國內使用的較爲普遍
由較好的圖形化客戶端和服務器支持,學習和使用相對簡單
項目分支管理簡單
GIT
分佈式
效率高
國際上已經廣泛使用,移動互聯網項目開始愈來愈多地轉向GIT
Xcode集成的功能已經可以知足大部分平常需求,但還有少許命令須要在終端輸入,學習曲線相對陡峭
項目分支能夠無限細分,更適合大型項目的版本規劃
選擇GIT的理由
GIT工做模型
集中式協同模型
社交網絡式協同模型
GIT基本交互流程圖
GIT倉庫初始化
倉庫初始化
git init --bare shared.git
倉庫文件目錄
HEAD: 指向當前分支的一個提交
description: 項目的描述信息
config: 項目的配置信息
info/: 裏面有一個exclude文件,指定本項目要忽略的文件
objects/: Git對象庫(commit/tree/blob/tag)
refs/: 標識每一個分支指向哪一個提交
hooks/: 默認的hook腳本
GIT設置配置信息
命令
git config -l 查看配置信息
git config -e 編輯配置信息
默認修改.git/config文件
我的信省息初始化(不要隨意修改)
git config user.name "user01"
git config user.email "user01@163.com"
提示:若是沒有配置全局信息,每次克隆以後都必須配置用戶名和郵件!
使用--global參數能夠配置全局我的信息
忽略無需版本控制的文檔
echo 「*.txt」 > .gitignore
GIT基本命令
工做區、暫存區和代碼區
GIT命令行演練
Xcode演練
.gitignore中的內容
.DS_Store
*.xcworkspace
GIT經典協同模型
中心倉庫:包含master和develop兩個分支
分支分類
提示:
給分支打標籤
git tag -a v1.0 -m 'Version 1.0'
打一個1.0的標籤
git push origin v1.0
將標籤推送到遠程服務器
git tag
查看當前標籤
git checkout v1.0
簽出v1.0標籤
git checkout -b v1.0hotfix
簽出並建立v1.0hotfix分支
git branch
查看當前所在分支
安裝GIT服務器
GIT代碼倉庫本質上是經過命令行來操做的
若是在局域網中配置GIT服務器,只要可以經過終端訪問到服務器便可
在Windows上要安裝GIT服務器,安裝以下三個軟件便可
注意:CopSSH的用戶必定不能是windows的管理員!!!
在Mac上要安裝GIT服務器,無需安裝任何軟件,只須要設置訪問用戶便可,遠程用於經過受權的帳戶名和密碼登陸,便可使用GIT
提示:GIT服務器能夠是互聯網中的某臺主機,也能夠是局域網中的某臺計算機的共享目錄,還能夠是U盤。總之:分佈無所不在!
CopSSH
將Git\libexec\git-core下的git.exe , git-receive-pack.exe, git-upload-archive.exe, git-upload-pack.exe拷貝到\ICW\bin下
將\Git\bin\libiconv-2.dll拷貝到ICW\bin下
CopSSH本質上就是容許其餘計算機以SSH的方式訪問計算機資源
SSH是目前較可靠的,專爲遠程登陸會話和其餘網絡服務提供安全性的協議
使用GIT咱們應該
提示
Q & A
若是你如今是開發團隊中的一員,仍是單人開發,都強烈建議如今就開始使用版本控制!