🔥 Git เป็น Version Control ที่ใช้จัดเก็บและควบคุมการเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์ชนิดต่างๆ เช่น Text file, Source Code เป็นต้น
.
✍️ ซึ่งมันจะใช้เก็บบันทึกการเปลี่ยนแปลงของ Source Code เวอร์ชันล่าสุดที่เครื่องของเรา (Local Repository) สามารถทำงานได้โดยที่ไม่ต้องใช้เน็ต หากต้องการอัปเดต หรือเปลี่ยนแปลงก็สามารถทำการ Push ขึ้นไปเก็บที่ Remote Repository ได้นั่นเอง!
.
🔎 มันมีคำสั่งอะไร แล้วแต่ละอย่างใช้ทำอะไรบ้างไปดูกันเลยจ้า
.
⭐ 1) Git clone - ใช้ดาวน์โหลด/คัดลอกโปรเจกต์จาก Remote Repository ไว้ในเครื่องของเรา
.
คำสั่ง
git clone
⭐ 2) Git branch - สร้าง ลบ และเรียกดู Branch ได้ตามต้องการ
.
คำสั่งสร้าง Branch ใหม่
git branch
.
คำสั่งลบ Branch
git branch -d
⭐ 3) Git checkout - ใช้เปลี่ยน Branch ในการทำงาน
.
คำสั่ง
git checkout
.
หรือสามารถสร้าง Branch ใหม่และเรียกใช้ทันที ด้วยคำสั่ง
git checkout -b
⭐ 4) Git status - ใช้เช็คสถานะของไฟล์ต่างๆ ในโปรเจกต์ของเรา เช่น
.
คำสั่ง
git status
.
⭐ 5) Git add - ใช้สำหรับอัปเดตเวอร์ชันใหม่ของ Code ที่ถูกแก้ไขหรือสร้างใหม่ขึ้นบน Stage
.
คำสั่ง (ระบุชื่อไฟล์ที่ต้องการ)
git add
.
คำสั่ง (ไฟล์ทั้งหมดในโฟลเดอร์)
git add -A
.
⭐ 6) Git commit - ใช้สำหรับยืนยันการเปลี่ยนแปลงของไฟล์ที่ถูก Add ขึ้นมาบน Stage และสามารถใส่ Comment สั้นๆ ได้ด้วย
.
คำสั่ง
git commit -m "commit message"
.
⭐ 7) Git push - ใช้สำหรับอัปเดต Code ที่ถูก Commit ขึ้นบน Remote Repository
git push
.
แต่ถ้าเราเขียน Code ใน Branch ใหม่ที่ยังไม่มีบน Remote Repository ให้ใช้คำสั่ง
git push --set-upstream
.
หรือ
git push -u origin
.
⭐ 8) Git pull - รับการอัปเดตจาก Remote Repository มาในเครื่องของเรา
.
คำสั่ง
git pull
.
⭐ 9) Git revert - คำสั่งยกเลิกการอัปเดตจากฝั่งเราออกจาก Remote Repository
*ต้องใช้อย่างระวังเพราะอาจจะพลาดลบบางอย่างที่ไม่ต้องการได้
.
คำสั่ง
git revert
.
⭐ 10) Git merge - ใช้สำหรับรวม Branch ที่ต้องการเข้าด้วยกัน
.
คำสั่ง
git merge
.
ครบแล้วกับ 10 คำสั่ง Git เบื้องต้นที่มือใหม่ควรรู้ หวังว่าจะเป็นประโยชน์กับเพื่อนๆ นะคะ 😍
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
「git commit -m」的推薦目錄:
git commit -m 在 Kewang 的資訊進化論 Facebook 的最佳貼文
小編分享過多次的 Git,常常在 QA 時被問到下面這種需求:
有一個已經寫好的模組 M,然後想要給 A, B, C 這三個專案使用,A 要用 1.0.0 版的 M,B 跟 C 則是用 1.1.0 版的 M。而且 M 是公司機密,不可對外公布。
當 M 開發了新功能的時候,不希望 A, B, C 這些專案使用的 M 也一併更新,而是等到想更新的時候才要更新 M。
---
使用過 Git 一陣子的朋友,通常會在 Git 裡面找看看有哪個功能可以符合需求,結果就找到了 git submodule。
submodule 其實是類似捷徑的概念,以上面需求為例,當 A 需要用到 M 的時候,可以使用 git submodule add
當 M 更新時,A 要用 git submodule update (而不是一般常用的 git pull),才會更新專案 A 的模組 M,可以避免 M 或 A 更新之後,無意間也更新了 M 的版本。
---
但 submodule 也有一些麻煩的地方,像是如果不小心在 submodule 上做了一些變更,commit 跟 push 的時候絕對會搞混,到底現在是在 A 還是在 M commit。
然後在 A 跟 M 看線圖的時候也長的不一樣,這其實是很困擾的一件事情。所以小編怕麻煩,通常都不會用 submodule。
---
其實只要了解你所使用的語言及框架,這類需求其實很容易就可以解決。以 Nodejs 為例,開發時大家常到 npm.org 下載模組來安裝。其實 npm.org 也可以自建 (以下簡稱 mynpm.org),所以只要把模組 M 上傳到 mynpm.org,以後都從 mynpm.org 下載模組 M 就可以了。可以解決下列這些問題:
1. 避免公司重要技術外洩
2. A, B, C 專案甚至之後的其他專案也可以利用 SemVer 來持續更新模組 M
3. Git 線圖容易追蹤
---
像這類的作法可能會有幾個小問題,像是 JavaScript, Ruby, Python 這類直譯式語言,在遠端佈署的時候,如果 mynpm.org 沒有對外該怎麼辦?這時候其實可以在 .gitignore 裡面設定,當開發時可以將模組 M 的目錄強制納入 Git 管理。
如果是像 Java, C# 這類編譯式語言的話就比較不會有這個問題了,因為在本機就已經編譯成執行檔,直接上傳到遠端佈署就可以囉!
---
https://hahow.in/cr/kewang-git
看完這篇文章可以知道就算是同一種需求,Git 也會有不同解決方式喔!還不快來報名小編的 Git 線上課程,讓你在任何共同協作場合都可以用 Git 來解決問題喔!
#git #gitsubmodule #gitignore #semver