什麼人需要學版控
任何人!只要你的檔案需要修改、沒辦法一次就完成的,就需要使用 版控。應用範圍:論文(特別是遇到機車的教授)、code、大型報告…etc,若你的檔案還是需要多人 一起協同完成的,那你一定要用版控,人生寶貴,不要浪費時間在去管理版本。 Git 是一種分散式版本控制系統,它是一個用於跟蹤和管理代碼變更的工具。Git 的主要功能是記錄文件的歷史記錄,使多個開發者能夠協同工作,同時保持代碼的一致性和可追溯性。
Git 的難學之處! (其實不難,相信我 !!!)
現在是站在一般人的角度來看 git,讓人望之卻步的原因有很多,名詞太多了 Repository、Branch、Commit、Merge、push、pull、add、master..etc
根本看過就忘,更不用說還要去使用。但是如果透過範例實際操作一遍,其實很多概念就懂了,根本不用去記這些名詞。
重要聲明
以下Git教學只需要安裝一個程式,甚至你不想要安裝,windowns 上還可下載 portable 的版本解壓縮也可以。 使用情境:單獨一個人在自己的電腦上開發修改檔案,需要做版本控制的情況
示範
以下示範一個檔案的生成,經過三次的修改後,在版本間切換
Step 1:
建立 .git 資料夾: 至要進版控之資料夾 指令
1
git init
Step 2:
第一次修改:加入要被 commit 的檔案 指令
1
git add .
commit, “ committed message” -> 寫要提醒未來的自己的資訊,不要寫到自己都看不懂,ex: “改一下內容”,”修改看不爽的地方”..etc
1
git commit -m " committed message"
可以看到自己剛剛 commit 的資訊
1
git log
建議使用以下指令去看 log,排版比較簡短清楚
1
git log --pretty=format:"%h %an %ar - %s"
Step 3:
第二次修改:改完檔案後,加入被 commit 的檔案
1
git add .
Note: 此時可看要被 commit 的檔案與上個版本的不同之處
1
git diff –staged
Step 4:
第三次修改
Step 5:
Step 6:
開始切換版本吧
1
git checkout your_commit_ID
Step 7:
用 git log 看自己在哪個 commit 狀態上
Step 8:
直接回到最新版的狀態
1
git checkout master
Step Step 9:
本地有修改的情況下,不允許切換至其他 commit 的狀態
Step 10:
解法:放棄目前本地的修改
指令
1
git checkout -- .
完成 !!!
以上的操作全部在 local 端,完全沒有涉及到網路的 Repository,希望 這個簡單的操作示範可以讓你了解到版控的功能,及 git 的強大,讓人可以有空去玩玩 git。
要將 local 的版控紀錄上到網路,只要網路找個地方去放這些紀錄就好,下次再說吧 !
額外重要 command
1
git rev-list --count HEAD
這個指令會計算從當前分支的初始 commit 到最新 commit 之間的總數
1
git rev-list --count main
如果你想計算特定分支的 commit 數,將 HEAD 換成該分支的名稱即可。
1
git branch
列出所有本地分支,並會在當前所在分支前面加上 * 來標識。
main 前面有 *
,表示你當前所在的分支。
1
git status
用來查看當前 Git 倉庫的狀態。
- 哪些文件被修改但尚未提交。
- 哪些文件已經被添加到暫存區等待提交。
- 有哪些文件尚未被 Git 追蹤(未被添加到版本控制中)。
- 當前分支的狀態(例如是否有需要合併的更新)。