➣ Reading Time: 8 minutes

什麼是 git

git 是一種版本控制系統,講簡單一點,例如我們以前在交作業的時候,

我們可能會有以下的檔案命名方式:

  • 我的作業-1
  • 我的作業-2
  • 我的作業-2-修改版
  • 我的作業-2-修改版-最終版
  • 我的作業-2-修改版-最終版-final

之類的……有沒有感到很親切呢?

那如果…今天有一個專門幫我們命名這些檔案名稱的工具,
而且他能幫我們命名好好的,不會像上面那樣可能自己最後都搞不清楚哪個才是最後一版,
是不是就很棒呢! git 就是專門幫助我們管理這東西的工具。

基本使用概念

git 的使用是以一個資料夾底下的全部內容為單位的,
在開始進行 git 前,第一步就是要在該目錄底下進行 git 的初始化 「git init」。

git 基本指令總整理

指令功能備註
git init初始化要進行 git 的資料夾
git add [指定檔案]增加更新 (新增) 內容可以使用「.」代表目錄底下全部的更新檔案
git reset [指定檔案]取消增加的內容與 git add 相反的功能
git commit確認增加的內容,並發佈一個新版本
git status確認現在 git 的情況 (會告訴你有沒有新增內容)
git push –set-upstream [branch名字]第一次上傳時設定串流想要備份到遠端,才需要參考此步驟
git push上傳至遠端上備份
git pull從遠端上備份下載不同裝置、不同位置都適用

git branch 相關總整理

指令功能備註
git fetch從遠端拉指定版本下來與 git pull 不同在於不會自動 merge,而 git pull 只能拉到最新版
git checkout [a]branch切換至a
git checkout -b [a]開一個新的branch,命名為a,並切換至a (如果沒有存在,就是全新的,容易造成)
git checkout -b [a] [b]從遠端拉b的branch,命名為a,並切換至a (如果找不到b,會有error)
git loggit log
git log -1最後一個 git log
git branchshow出目前所在的branch
git branch -ashow出目前所有的branch
git branch -D [a]kill branch a
cat .git/config直接show出來
more .git/config看更多目前branch的資訊
git remote show originshow出目前遠端所有的branch
git push -u origin [branch name]第一次需要幫遠端(remote)建立branch
git push –set-upstream origin [branch name]等價於上面
git push第二次以後就能直接push
git –versiongit version
git status查看目前tracked/untracked files
git commit -m “msg”commit ‘msg’
git merge –no-ff [branch]merge branch
git config –listconfig infomation
git config –global user.name [username]
git config –global user.email [email]
git reset HEAD退回最後一個commit
git reset []退回指定的commit
git diff ../../.gitignore比較 diff
git checkout — ../../.gitignore取消tracked
git checkout — ../../core/ftModule/IMPFTTracker.cpp取消tracked

Reference

https://www.itread01.com/content/1545176737.html
https://stackoverflow.com/questions/348170/how-do-i-undo-git-add-before-commit

 ⭐Git 相關文章整理⭐:
1.【Git】1 – 簡單開始學 git,認識 git 與基本觀念、心態建立,初學者學習 git 碰壁的原因 與 建議學習 git 的方式
2.【Git】git 初學者向 – 最簡單直白的理解 git 基本介紹 與 基本使用 (內有範例程式碼) 總整理 大全
3.【Git】git ignore 設定方法筆記,在 git add 時 固定不要特定檔案 git add remove