Git是什麼?

Git是一個版本控制的工具。

你可以把它理解成一個神奇的魔法畫板

它會幫你記錄畫板上的每一個步驟

當你的步驟畫錯時,只需要告訴它一聲

它就會幫你自動還原到指定的步驟。

使用Git時你也可以跟多個朋友一起合作畫畫

每個人畫一個部分(頭,身體,左手,右手)

最後再把每個區塊整合在一起。

Git 和 Github 有什麼不同?

Git 是版本控制的工具

Github 是有支援Git服務的雲端空間。

換句話說,Git是管理你的畫作步驟的魔法畫板

Github 是幫你把這些步驟全部儲存在雲端(類似Google Drive)的地方。

除了 Github之外,比較有名的Git雲端空間是Gitlab, BitBucket, 和 Gitee。

Git 可視化工具是什麼?

Git 可視化工具是好看的Git介面軟體。

透過介面UI點擊按鈕,直覺的使用Git功能。

Git 下載安裝之後是純指令(CLI),

沒有介面的工具,對新手不太友好。

因此出現許多了Git視覺化的介面工具

其中最有名的是SourceTreeGitKraken, 和 Github 推出的 Github Desktop.

我最推薦使用的是GitKraken

雖然要付費,但是介面設計直覺又好看!

更新速度很快,工作起來會很爽,強烈推薦沒辦法接受醜醜介面的你。

如果你不想花錢

那麼最多人用的就是Source Tree,是開源免費的軟體,上手之後就很直覺。

不需要再去煩惱別的工具了,不直覺不好用。

最簡單的GitFlow流程

上面這張圖是最簡單的Git操作流程:

  1. 使用Git Clone把專案下載到電腦
  2. 對專案進行一番修改
  3. 使用Git Push把修改的專案推上雲端
  4. 使用Git Pull下載最新的專案下來繼續修改
  5. 重複第三步

Git的文件夾資料結構:

Git資料夾被默認隱藏起來了。

MacOS : (快捷鍵) Command + Shift + .

Window:透過Menu打開

打開後會看到一個隱藏的 .git 文件夾

有顯示這個代表這個專案有被Git管控,可以安心亂改!(誤

Gitignore是什麼?

Gitignore 是用來告訴Git不要紀錄什麼的文件。

有時候有很多資源是不要把步驟全部紀錄下來的,像是很大型的文件(模型,影片,圖片)。

這時候就要用 .gitignore 來定義什麼不要紀錄

這個文件不會自己生成

你需要右鍵新增一個文本,然後自己命名 .gitignore

.gitignore 使用方式:

# 這是個註解

#這是不要加進版本控制的目錄
/Library/ 
/Packages/
.vscode/

# 這是不要加進版本控制的後綴文件, *代表任意文件名
*.csproj
*.sln
*.tmp
*.apk

# 這是一個複雜的寫法
!/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*

如果你有更複雜的需求,這個是官方的文檔說明文件

多人協助的 Git Flow

如果有兩個人以上進行開發的話:

  1. A和B同時下載專案到本地電腦
  2. 然後新開一個自己的分支(Branch)
  3. 各自修改專案,然後推到自己的分支(Branch)
  4. 推倒主要的分支上
  5. 進行兩個分支的合併整合
  6. 整合完衝突之後,重複步驟3

Git 常用指令大全

指令解釋
git clone <url>把Gitlab/Github上的專案下載到本地電腦
git add .把所有修改的檔案新增到版本控制裡
git commit -m <message>紀錄這次的修改改了什麼東西
git push <origin>把本地電腦的版本更新到Github/Gitlab上
git pull把Github/Gitlab上的專案下載下來並且合併到當前的Branch
git fetch -a把Github/Gitlab上的專案下載下來但不合併Branch
git branch查看,新增,刪除 分支Branch的指令
git checkout <branch>切換分支Branch的指令

上面這些是比較常用到的指令,完整的指令可以查看這裡

Git LFS 是什麼?

Git LFS(Large File Storage)使用來存放超級大檔案的地方。

在 Git 版本控制裡只會保留一個指向大文件的小文件。

當你需要這個大文件時,Git LFS 會自動幫你下載。

在使用 Git LFS 前,必須先安裝它

  • macOS: brew install git-lfs
  • Windows: 使用 Git 安裝包(內建 Git LFS)或從 官網 下載。
  • Linux: 使用包管理器,例如 apt install git-lfs

安裝完成後

在你的專案中執行以下指令來啟用 Git LFS:

git lfs install

使用 git lfs track 命令來指定需要由 Git LFS 管理的文件類型

git lfs track "*.psd"

這會將 .psd 文件加入到 .gitattributes 文件中

讓 Git 知道這些文件應由 Git LFS 管理

接著就跟使用 git 一樣

把相關的文件加到 Git,然後Push上去即可

git add .gitattributes
git add <你的大文件>

git commit -m "Add large file with Git LFS"

git push origin main

下載的時候要記得除了 git pull 之外

也要執行:

git lfs pull

通常使用 Github 或 Gitlab 的時候會有最大檔案只能 100Mb的限制

這時候就可以使用 Git Lfs 來進行管理 ~