但卻都沒有做到版本控制,後續在維護上會有問題,
趁著這機會,裝個 git server 來維護。
這邊的命令,大部份都是從 Tsung's Blog 上找來的,
只是根據我的需求,改成我要的參數。
Raspberry Pi 設定:
安裝 git
sudo apt-get install git-core建立 local repository:
之前我已將我的控制程式都放在 /home/pi/roaster 下,因此先將 roaster 目錄加入 git 版控中:
cd /home/pi/roaster
git init
接著應該用 git add 來將需要的檔案加入 git
但因為 python 執行會產生 compile 過的 .pyc 檔案,這我不需要加入,
因此在此目錄中加入一個 .gitignore 檔案,裡面就只放一行:
*.pyc
來忽略所有的 pyc 檔,接著才將我要的檔案加入 git(包括 .gitignore):
git add .
最後將檔案 commit 至 git repository
git commit
這時 local 端的 repository 已經建立完成
可用 git status 來看目前 git 的狀態
git status
# On branch master
nothing to commit (working directory clean)
nothing to commit (working directory clean)
可以看到已經存至 git 中,目前的 branch 為 master
建立 Raspberry pi 的 ssh key
建立 RSA key:ssh-keygen -t rsa
過程會問檔案儲存位置,就用預設路徑(/home/pi/.ssh/id_rsa)即可。
這命令會產生 id_rsa 和 id_rsa.pub 兩個 Key,接著把 public key 傳到 git server 上:
scp id_rsa.pub user@gitserver.name:/tmp/id_rsa_my.pub
過程需要 user 的密碼,稍後則是要把這 public key 加到 git server 中。
P.S:
- gitserver.name 是要作為 git server 的電腦 IP
- user 則是在該 server 上的使用者名稱
- 要執行上述命令,server 上要先設定好 SSH
- 這文章是 git over ssh 的設定方式
Server 設定:
安裝 git
sudo apt-get install git-core設定 git 使用者
新增使用者sudo adduser git --disabled-password
將 Raspberry Pi 上的使用者 key 加入
sudo su git
cd; mkdir .ssh
cat /tmp/id_rsa_my.pub >> .ssh/authorized_keys
設定 Git repository
在 /usr/local 建立 git repositorysudo mkdir -p /usr/local/git/roaster.git
設定目錄的權限,設定 owner 為 git
cd /usr/local
sudo chown -R git.git git
初始化該目錄
sudo su git
cd /usr/local/git/roaster.git
git init --bare --shared
此時 server 端的 git repository 已建立完成,
下一步則是將 local (Raspberry Pi )上的 repository push 到 server 上
Push 資料到 server 上
在 Raspberry Pi 上,切到之前建立好的 local repositorycd /home/pi/roaster
建立一個好記名稱,對應到遠端的 git repository,
以下建立一個名為 origin 的名稱:
git remote add origin git@gitserver.name:/usr/local/git/roaster.git
最後,將 local branch master push 到 origin 這 remote repository 中:
git push origin master
大功告成
後續就用
git push origin master
將 local change merge 進 Server
或是用
git pull origin master
將 remote 的 change merge 進 local 端
沒有留言:
張貼留言