2011年5月12日 星期四

Git 單一開發者與遠端備份機制




更新日期: 2011/05/12

參考資料:
1. I touchs: Using git in Xcode 4
2. 竹林七賢: Git 遠端備份


一. 環境:
A. Mac OS X: 10.6.7 Snow Leopard
B. Xcode: 4.0.2


二. 安裝 Git:
A. 打開終端機, 檢查是否有安裝 Git, 以及其版本.
$git --version
git version 1.7.3.4

B. 下載並安裝 Git:
http://git-scm.com/download
1. 在此採用版本: git-1.7.5-x86_64-leopard

2. 掛載後, 有 4 個檔案:
a. README.txt - 說明文件

b. setup git PATH for non-terminal programs.sh -
執行後, 將 git 的安裝路徑 /usr/local/git 加到 ~/.MacOSX/environment.plist 裡,
可讓非終端程式找到
git , 登出再登入才會生效.
c. uninstall.sh - 反安裝
d. git-1.7.5-x86_64-leopard.pkg
- 安裝程式(下次再安裝最新版的, 就自動更新了)


三. 用 Xcode 4 建立一個 Workspace (選擇性):
A. 特點:
1. 方便組織多個專案.
2. 可以在同一個地方幫多個專案 commit changes.
3. Xcode 4 Workspace 允許在單一個地方儲存: 你所有的
projects, documents, folders, schemes 的 links(連結),
它並沒有控制住實際的資料; 只是一種參照
projects, folders, various documents 的自由集合.

B.步驟: 打開 Xcode 4 > File > New > New Workspace
瀏覽要存放的位置後, 然後給個名稱.
(在此: 路徑為 /Lanli/RD ; 名稱為: iOS4Workspace )


四. 建立 Local Repository:
步驟如下:

$mkdir /Lanli/RD/iOS4_Projects
$cd /Lanli/RD/iOS4_Projects
$git init

// msg: Initialized empty Git repository in /Lanli/RD/iOS4_Projects/.git/

$touch README
$git add README

$git commit -m 'first commit'

[master (root-commit) 1c71074] first commit 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 README
說明:
1. 查看 git 的用法 -> git --help

2. git 的 online manual: Git User's Manual


五. 加入 Projects:
A. 用 Xcode 新增一個(或多個) projects 放在 四. 建立的 local repository 下:
Xcode 4 > File > New > New Project
瀏覽要存放的位置後, 然後給個名稱.
(在此: 路徑為 /Lanli/RD/iOS4_Projects ; 名稱為: helloBlock )

B. 將此專案加入 repository:
$cd /Lanli/RD/iOS4_Projects
$git add helloBlock

$git commit -m 'helloBlock project added'

[master b9e233f] helloBlock project added 13 files changed, 1212 insertions(+), 0 deletions(-) create mode 100644 helloBlock/helloBlock.xcodeproj/project.pbxproj ......
說明: 先關閉 Xcode 4 , 再開啟.


六. 當有修改 source code, 可執行:
select modified file (檔名右方會有一個 M 符號 ) > 右鍵 >
Source Control > Commit Select Files.


七. 遠端備份
A. 到 git 的目錄下執行:
$cd /Lanli/RD/iOS4_Projects
$git bundle create iOS4_Projects_BACKUP.BUNDLE --all
Counting objects: 30, done. Delta compression using up to 2 threads. Compressing objects: 100% (25/25), done. Writing objects: 100% (30/30), 10.10 KiB, done. Total 30 (delta 4), reused 0 (delta 0)
說明: iOS4_Projects_BACKUP.BUNDLE 是自行命名的檔名.

B. 將 iOS4_Projects_BACKUP.BUNDLE 上傳到 Google 文件上,
Google 文件本身也有版本控制的機制.


八. 從遠端的備份重建 local 的開發環境
A. 從 Google 文件下載 iOS4_Projects_BACKUP.BUNDLE 檔案.
B. 執行以下的步驟:
$cd /Lanli/RD
$git clone iOS4_Projects_BACKUP.BUNDLE iOS4_Projects

$cd iOS4_Projects

$git fetch

$git pull

說明: iOS4_Projects 為自定的新目錄名稱.

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。