Git
Q:什麼是Repository?
Ans:就是倉庫的意思
Q:需要做哪些基礎設定?
Ans:
git config --global user.name "Tsung" git config --global user.email "username@email.com" git config --global color.diff auto # git diff 要顯示顏色 git config --global color.status auto # git status 要顯示顏色 git config --global color.branch auto git config --global color.log auto # git log --graph 會很漂亮, 感謝日落提供. git config --global core.excludesfile ~/.gitignore # 設置忽略名單
相關連結
Git官網 - http://git-scm.com/
GitHub官網 - https://github.com/
Git 初學筆記 - 指令操作教學 - http://blog.longwin.com.tw/2009/05/git-learn-initial-command-2009/
Git Study - http://josephj.com/entry.php?id=308
下載git軟體 yum install git
(如有需要) 下載gitk軟體(以圖表方式顯示) yum install gitk
「server端」
- useradd git #新增git帳號
- cd /home/git/project #切換到git目錄底下的project資料夾
- git init --bare (單純repository)
- 無法在此新增檔案,只單純用在repository
「client端」
- useradd git #新增git帳號
- cd /home/git/ #切換到git目錄
- git clone git@192.168.10.130:/home/git/project #將server端的資料複製到client端
- vim test.php #新增檔案
- git add . #加入檔案
- git commit -m 'this is a test file.' #commit檔案
- git pull #更新server端資料
- git push # 將檔案上傳上去
- git status #查詢git狀況
注意事項:
- chown -R git:git /home/git/project #更改檔案目錄擁有者及群組為git
- git config receive.denyCurrentBranch ignore #發生錯誤,忽略server端的master
後面要加入的 re.local 以及新增機器自動判斷是否已有.git 及 拉檔案 新增排程。
# git clone 的時候會顯示資料夾是空的。
#必須新增檔案 vim test.php; git add .; git commit -a "this is a first file."; 才能push and pull
# 第一次push的時候要下 git push git@192.168.10.130:/var/www/html/project master
#
git.script
if [ -d /var/www/html/project/.git ] ; then
echo "project存在,git資料夾有存在,開始更新網站內容。"
cd /var/www/html/project
git pull
else
echo "資料夾不存在,建立網站資料"
rm -rf /var/www/html/project
cd /var/www/html/
git clone git@192.168.10.130:/var/www/html/project
exit 0
fi
service httpd start
push.script
cd /var/www/html/project
git push
#編輯排程
crontab -e
*/1 * * * * /var/www/html/pull.script #每1分鐘執行一次。
# git clone 的時候會顯示資料夾是空的。
#必須新增檔案 vim test.php; git add .; git commit -a "this is a first file."; 才能push and pull
# 第一次push的時候要下 git push git@192.168.10.130:/var/www/html/project master
#
git.script
if [ -d /var/www/html/project/.git ] ; then
echo "project存在,git資料夾有存在,開始更新網站內容。"
cd /var/www/html/project
git pull
else
echo "資料夾不存在,建立網站資料"
rm -rf /var/www/html/project
cd /var/www/html/
git clone git@192.168.10.130:/var/www/html/project
exit 0
fi
service httpd start
push.script
cd /var/www/html/project
git push
#編輯排程
crontab -e
*/1 * * * * /var/www/html/pull.script #每1分鐘執行一次。
你好方便跟你諮詢個問題嗎
回覆刪除若我有三台不同ip Git Server
我要如何做到當使用者push to a server , a server 轉push 到b/c呢?
看了許多文章都是採用設定remote, 但不希望用此做法
而是想讓server 收到push自動轉發