分類

展開全部 | 收合全部

分類

展開全部 | 收合全部

【Git 觀念整理 #2】git 基本概念篇 | 讓我們來談談檔案的各種狀態與 git 的關係

前言

我們來整理一些 Git 的基本知識

檔案的狀態

討論 git 之前,我們可以先知道檔案在電腦中可以有四種狀態,
我們可以用下面的圖作解釋

untracked files: 未追蹤的檔案

不在 git 控制範圍內的檔案,也就是說就算變化了,
因為不在 git 所觀察的範圍,因此與我們無關

例如:電腦中,與 git 無關的其他資料夾的檔案

unmodified files: 未編輯的檔案

這個概念聽起來有點繞口,有兩種狀況會變成這個狀態,

  • 在 git 的範圍加入新的檔案,畢竟剛加入,就是個未編輯的狀態(也可以說已經編輯完了,成為一個定版的狀態)
  • 當我們決定替現在的 git 目錄提交一個定版 (commit),那麼現在的檔案狀態就是未編輯的狀態 (這裡「相對的基準點」就是定版的狀態,因此是未編輯的狀態)

modified files: 編輯中、已編輯的檔案

一樣這個概念聽起來有點繞口,不過如果上面已經有理解了什麼是「未編輯的狀態」 (最難理解的點應該是在「相對基準點是定版」),
這裡就很好懂了,只要有修改,就是 modified files。

staged files: “等待”定版的檔案

這裡的概念與 modified files 類似,甚至有些重疊的部分,
硬要分的話,一個檔案可以在定版前不斷的在 modified files 階段,也就是說我們可以一直修改他,
直到我們想提交定版 (commit),就會是 staged files。

而在提交定版 (commit) 後,就會變回 unmodified files,因為「相對現在的定版狀態」,未編輯的檔案就是「沒有編輯的檔案」

git 中的版本控制

這裡與上面的概念有點重疊,但是又不太相同,
上面我們提到了檔案的狀態,而這裡我們要看 git 怎麼樣的控制檔案的版本。

repository (常簡稱 repo)

我們先講 repository (常簡稱 repo),基本上可以當作是檔案版本的保存庫

暫時的定版 (git add) 與正式的定版 (git commit)

我們可以透過 git add,把檔案暫時都加入 staged files,
注意我們上面有一個微妙的定義「”等待“定版的檔案」

因此在 staged files 的這個階段,我們一直都沒有正式的上一個版本,一切都只是暫時(我們仍可修改)的狀態,
當我們確定現在的修改程度,值得作一個版本記號」,我們就會下 git commit 提交定版,
也就是我們把 staged files 「正式的作為一個版本」保存在 repo 當中。

與雲端交互

學習 git 的時候,可以先不用學習雲端相關的知識,
因為在觀念還不穩時,加進雲端的概念只會更多更亂,
然而,git 是完全可以在本地執行的,如果新手建議可以先嘗試在本地用 git 進行版本控制即可。

與雲端交互的關鍵基本上就是 push 與 fetch (把本地推上雲端、把雲端拉回本地),
但在此操作之前「絕大部分的操作,都是要我們在本地先處理好,在上雲端的」,
請盡量不要上雲後再來處理,會比在 local 處理麻煩非常多! 而 local 處理非常簡單!!!

上面圖片基本上可以反覆查看,而與雲端交互的部分基本上可以晚點看
大原則就是「在 local 把一切都處理好,在一次 push 上雲。不要 push 上雲後再來後悔,會難處理很多

reference

⭐Git 相關文章整理⭐:
1.【Git】1 – 簡單開始學 git,認識 git 與基本觀念、心態建立,初學者學習 git 碰壁的原因 與 建議學習 git 的方式
2.【Git】git 初學者向 – 最簡單直白的理解 git 基本介紹 與 基本使用 (內有範例程式碼) 總整理 大全
3.【Git】git ignore 設定方法筆記,在 git add 時 固定不要特定檔案 git add remove
⭐【喜歡我的文章嗎? 歡迎幫我按讚~ 讓基金會請創作者喝一杯咖啡!
如果喜歡我的文章,請幫我在下方【按五下Like】 (Google, Facebook 免註冊),會由 「LikeCoin」 贊助作者鼓勵繼續創作,讀者們「只需幫忙按讚,完全不用出錢」哦!

likecoin-steps
Howard Weng
Howard Weng

我是 Howard Weng,很多人叫我嗡嗡。這個網站放了我的各種筆記。希望這些筆記也能順便幫助到有需要的人們!如果文章有幫助到你的話,歡迎幫我點讚哦!
另外,因為定位是「個人的隨手筆記」,有些文章內容「⚠️可能我理解有誤⚠️」或「?只寫到一半?」,如果有發現這樣的情況,歡迎在該文章的最下面留言提醒我!我會儘快修正或補上!感謝大家的建議與幫忙,讓網站能變得更好?

文章: 890

★留個言吧!內容有誤或想要補充也歡迎與我討論!