目錄

廣告 AD

Git-Sim: Git 的操作用動畫來呈現!Git 的模擬器,學習 Git 的好工具

在不熟悉 git 的時候常常會打錯指令

容易不小心誤刪檔案或是出現錯誤

如今可以用 Git-Sim 來看看輸入指令後的結果是如何了~

廣告 AD

Git-Sim 可以幫助我們觀看模擬指令後的結果,也就像是個 git 的模擬器,對於初學或是教學來說有很大的幫助,不用擔心亂打指令後造成無可挽回的結果

建議是使用 virtual environment,然後再安裝 package,以下先創造一個名為 env 的虛擬環境 (你可以自己換成其他想要的名字):

bash

python3 -m venv env

然後進入虛擬環境

bash

# Windows
./env/Scripts/activate.bat
# or
# Linux
source env/bin/activate

安裝 git-sim

bash

pip install git_sim

安裝完後,移動當前路徑到任一有 git 版本控制的資料夾內,並輸入相關的指令

每個指令都可以用動畫來呈現,只要指令後加上 --animate 就可以輸出 mp4 檔案了

以下就來介紹幾個常用的吧~


我的夢想就是開一間飲料店,如今終於實現了,目前在研發食譜的階段,為了方便管理食譜,我用 git 把食譜做紀錄,目前一共有柳橙汁、奶茶、檸檬水和可樂的食譜

bash

git-sim log
動畫

bash

git-sim --animate log


如今我新增了綠茶的食譜

bash

git-sim status
動畫

bash

git-sim --animate status


完成綠茶的食譜後,我把食譜放到了暫存區

bash

# git-sim add <filename>
git-sim add green_tea.txt
動畫

bash

# git-sim --animate add <filename>
git-sim --animate add green_tea.txt


但仔細想想,這個綠茶的食譜好像忘記放茶葉進去了,於是又退回原本的工作區

bash

# git-sim restore <filename>
git-sim restore green_tea.txt
動畫

bash

# git-sim --animate restore green_tea.txt
git-sim --animate restore green_tea.txt


經過一翻修改後,把綠茶的食譜放到暫存區,終於可以 commit 了~

bash

# git-sim commit -m "<commit message>"
git-sim commit -m "Add green tea"
動畫

bash

# git-sim --animate commit -m "<commit message>"
git-sim --animate commit -m "Add green tea"


終於送出去茶葉的食譜後,舉辦了試喝大會,結果有人反應綠茶不好喝 QAQ,於是全部打掉重來,直接反轉上次的 commit

bash

# git-sim revert <to-revert>
git-sim revert HEAD
動畫

bash

# git-sim --animate revert <to-revert>
git-sim --animate revert HEAD


怎麼試都覺得原本的綠茶是最好喝的,結果後來發現那位說難喝的人居然是對面飲料店老闆,擔心以後客人都被我搶走,於是先來搗亂,最後我決定維持原本的綠茶食譜,把之前反轉的 commit 直接取消

bash

# git-sim reset <reset-to> [--mixed|--soft|--hard]
git-sim reset b60930 --hard
動畫

bash

# git-sim --animate reset <reset-to> [--mixed|--soft|--hard]
git-sim --animate b60930 --hard


到這裡,飲料店終於順利開張了,於是我把現在這份食譜命名為 1.0 版本

bash

# git-sim tag <new tag name>
git-sim tag v1.0
動畫

bash

# git-sim --animate tag <new tag name>
git-sim --animate tag v1.0


飲料店蒸蒸日上,於是我決定再開一間分店,除了現有的食譜外,我還想研發專屬於新分店的食譜,於是我開了分支,用來記錄新分店的食譜

bash

# git-sim branch <new branch name>
git-sim branch new-branch
動畫

bash

# git-sim --animate branch <new branch name>
git-sim --animate branch new-branch


為了新的分店,我打算研發了蘋果汁,但研發到一半,總店臨時要研發巧克力牛奶,必須暫停分店的蘋果汁的研發,回到總店研發巧克力牛奶,於是我把蘋果汁的食譜保存起來,然後回到了總店…

bash

# git-sim stash [pop|apply|push] <file>
git-sim stash push apple_juice.txt
動畫

bash

# git-sim --animate stash [pop|apply|push] <file>
git-sim --animate stash push apple_juice.txt


經過了好一陣子,終於把總店的巧克力牛奶研發完成,也回來分店完成了蘋果汁,巧克力牛奶和蘋果汁如預期地受到眾人的喜愛,後來與夥伴商討後決定兩間店都要賣巧克力牛奶和蘋果汁,所以我們要把兩家分店的食譜合併

bash

# git-sim merge <branch>
git-sim merge new-branch
動畫

bash

# git-sim --animate merge <branch>
git-sim --animate merge new-branch


最後飲料店升級成 2.0 版本,一直成長茁壯大至今…

更多更詳細地操作可以到 Github 看,那我們就有緣在飲料店見吧~


廣告 AD