使用Git維護你的網站

原文地址: http://chenxiaoyu.org/blog/archives/90

git-tree

簡介

git是由Linus Torvalds 編寫的一個開放源碼的版本控制系統. 它的主要目標是高度分散, 效率超過其他競爭對手.

我就是使用git維護本網站. 我知道git不應該這樣的粗重任務的使用, 即每一個開發者維護一份代碼拷貝, 但是它工作的很好, 所有我使用它.

本文的目的就是說明如何在家裏或者筆記本里維護一個本地拷貝, 然後讓這些修改提交到互聯網主機上. 下面就是介紹如何設置.

安裝

# Gentoo
emerge git
# Debian/Ubuntu
apt-get install git-core
# RedHat/Fedora
yum install git

初始化

你會進入你的服務器的目錄和初始化git倉庫.

# 進入你的web目錄
cd /$wherever/html/
# 初始化倉庫
git init
# 添加所有內容
git add .
# 提交 -m備註
git commit -a -m "The Initial Import."

然後返回你的html父目錄, 克隆新的git-ized web目錄.

# 返回你的html目錄
cd ..
# 克隆你的web目錄到 html.git
git clone --bare html html.git

現在你已經初始化好了倉庫, 並將整個目錄(遞歸)到該庫中, 並進行了初次提交, 爲web目錄建立了一個git克隆. 這個git目錄(html.git)是整個過程的關鍵.

獲取一份開發環境的拷貝

1. 轉到你的開發系統
2. 安裝git
3. 從你的開發目錄運行下面命令

git clone ssh://yoursite.com/path/to/html.git

現在已經獲得一個完整的網站服務器版本的本地拷貝.

使你的web目錄克隆Git目錄

記住, 你的html.git是這裏的關鍵, 而不是現有的html目錄, 所以你要切換出來, 備份目錄, 然後:

# 備份html目錄, 然後克隆html.git
mv html html.backup; git clone html.git

這在當前目錄獲取一份html.git的拷貝, 當然名字還是html. 這就是爲什麼備份舊的html目錄.

自動推送修改

把你的html.git目錄添加到post-update鉤子中

cd ../htdocs
env -i git pull

修改鉤子程序爲可執行

chmod +x post-update

在你的開發環境的變動

現在編輯的網站, 打開一個新的TextMate項目(你使用TextMate對嗎?), 並拖動到html克隆目錄. 整個結構都準備好了.

1. 通常的變動
2. 保存更改
3. 運行下面的程序, 例如(QuickSearchBox, TextMate等)

# This is for an OS X box
cd /Users/daniel/Development/html/
git commit -a -m "Another update."
git push

這基本上是更新到git倉庫最重要的兩個命令: commit(注意:你的標記(如果想回滾的話))和push(推送到服務器).

[根據你的操作系統和git安裝, 你可能需要chmod +x 鉤子程序, 然後再繼續]

現在你只需要激活post-update 鉤子程序, 將會自動的獲取web目錄.

如果你在服務器端的操作基本也是相同的git commit和git push, 然後你的開發環境下git pull同步備份就可以了. 當然你還可以使用腳本, 如果你需要的話.

原文參見: http://danielmiessler.com/blog/using-git-to-maintain-your-website

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章