在 Jetson Nano 上可以用 ubuntu 系統常用的 git/github 版本控管的方式,是透過 git 來進行本機端的程式的版本控管,再透過保密通訊與 github.com 來作協同開發及版本控管;關連圖及簡單會使用使用到的指命如下圖所示。
Jetson Nano 環境使用 ubuntu 2.0,原則上內建 git 版本控管程式,可以用
git —-version
來確定是否有安裝;如果沒有,也可以用
sudo apt update
sudo apt install git
來進行安裝。
基本首先在工作目錄內使用以下指令。
git config —-global user.name <“你的名字”>
git config —-global user.email <“你的 e-mail”>
git init
這樣就會在工作目錄下建立「.git」這個目錄來存放相關版本控管的檔案。一旦把這個目錄刪除,所有的版本控管資料也都會消失。
git add .
將工作目錄所有檔案加入版本控管的暫存器。
git reset
取消剛才「add」指令所加入的檔案。
git rm -cached <檔案名稱>
取消加入版本控管暫存器指定的檔案。
git status
顯示目前版本控管的狀態。
git commit -m <“說明訊息”>
提交目前的暫存器進入版本控管流程。
git log
顯示版本控管流程。
git restore <file name>
還原檔案的最新版本。
如果要指定特別的版本還原回來的話,首先要用「git log」去找到 commit 後面的長碼,然後執行以下指令。
git checkout <commit log 指令後面長長的號碼的前七碼>
這時候會發現檔案的內容回復到指定的前面版本;如果,確定要從這個版本修改,可以把這個版本流指定為主要的版本。
git switch -c main
否則,如果要捨棄這個版本的修改,則可以再切換回原來的版本流;得到原來最新的版本。
git switch -
使用 git 是在本機端建立版本控管的機制,不過一旦「.git」這個目錄被删除之後,所有的版本紀錄就會消失。所以,通常我們還會在遠端github.com 備份建立這些資料;另一方面,如果程式需要多人共同開發,透過github.com 來作同步版本控管,幾乎也是最常使用的方式。
使用 github.com 在先在 github.com 上面建立好使用者帳戶;登入的 email 帳戶最好是跟本機端 git 的 email 帳戶一致;例如 「[email protected]」。在本機端的 git 放上 github.com 之前,要先建立本機端的 ssh key 來與 github.com 作 ssh 認證。
ssh-keygen -t ed25519 -C xxxx@gmail.com
這時候就會在「~/.ssh」目錄下產生「ed25519」和「ed25519.pub」兩個檔案。
然後到「github.com」的個人首頁,按右上角的圖案,點選「access」->「SSH key and GPG key」,新增一個 key;title 可以自行撰寫,不過在內容的部份,就要貼上剛才在本機端「ed25519.pub」檔案的內容了。這樣就完成 Jetson Nano 本機端和 github.com 之間的 ssh 認證。
如果要把本機的 git 備份到 github.com,首先要先在 github.com 建立一個 Reposity;例如叫作「helloWorld」。
然後在本機端使用「push」指令
git remote add origin git@github.com:<你的名字>/helloWorld.git
git branch -M main
git push -u origin main
這樣就可以看到在 github.com 上面有本機端的 git 備份。
如果在多人使用的狀態下,在更新程式之前,要取得 github.com 的最新版本,則使用「pull」指令。
git pull
如果在新的環境或重建本機端的環境的話,則可以使用「clone」指令,從「github.com」重建。
git clone git://git@github.com/<你的名字>:helloWorld.git <本機端要放置的工作目錄>