เริ่มใช้ Git (Command Line) ฉบับรวบรัดใช้งานใน 5 นาที !! 🖥

Ong Komsit Chusangthong
te<h @TDG
Published in
4 min readOct 8, 2019

--

credit : https://git-scm.com/

อะไร คือ ?? Gig เฮ้ย Git ถูกแล้วว …. ฮ่าาา !@#$%^&*

กราบบบสวัสดีทุกๆท่านอีกครั้ง หายไปนานเลยไม่มีเวลามาเขียนแชร์อะไรเพิ่มเติม มีเวลาว่างนิดหน่อยเลยจะมาแชร์…. กิ๊ก…เฮ้ยไม่ใช่ กิต(Git) ถูกแล้ว พอละไม่เล่นแล้วมุกเดิมๆ ฮ่าๆ =_ =”

Git คือ ?

Git คืออะไรล่ะ? ส่วนนี้เป็นส่วนสำคัญที่คุณต้องพยายามทำความเข้าใจเพราะถ้าคุณเข้าใจว่า Git คืออะไรและทำงานอย่างไร คุณจะสามารถใช้งาน Git ได้อย่างมีประสิทธิภาพและง่ายดายมาก เวลาคุณเรียนรู้ Git ให้พยายามลืมสิ่งต่าง ๆ ที่คุณอาจจะรู้อยู่แล้วจาก VCS อื่น ๆ เช่น Subversion หรือ Perforce เพราะคุณอาจสับสนคอนเซ็ปต์จากเครื่องมือเหล่านั้นได้ เหตุผลก็เพราะ Git เก็บและมองข้อมูลต่างจากระบบอื่น ๆ เป็นอย่างมากถึงแม้ว่าจะทำงานคล้ายกันก็ตาม

👉 เริ่มต้นใช้คำสั่ง Git Commands 👈

git config

ใช้สำหรับ config ก่อนแรกเลยก่อนที่เราจะใช้งาน git หลักๆที่จำเป็นต้องใช้ดังนี้ครับ ❗️❗️ *หมายเหตุ กรณีที่ต้องการตั้ง config เฉพาะ repo นั้นๆไม่ต้องใส่ -global ครับเพราะการใส่ -global คือ หมายถึงทุกๆ repo ใช้ config ตัวนี้ทุกอันเลย ❗️❗️

git config -–global user.name "[user name]" ใช้ในการเซตในส่วน user name ที่จะแสดงบน origin

example : git config user.name

git config -–global user.email "[email address]" ช้ในการเซตในส่วน email ที่สมัครใช้บน github, git lab, bitbucket etc.

example : git config user.email

git config --global user.password "your password" ใช้ในการเซตในส่วน password ❗️❗️ *หมายเหตุ ในกรณีที่เราใช้ git เป็น HTTPS แต่ถ้าใช้เป็น SSH ไม่จำเป็น set ในส่วนนี้ครับผม ❗️❗️

example : git config user.password

git init

init คือ “intialize” คือเริ่มต้น ก่อนที่เราจะใช้งาน git ได้ต้อง git init (เราเป็นสร้าง repo คนแรก) เรามี Folder Project แล้วก็ทำการ git init จากนั้น git ก็จะมาคุม Project เราเรียบร้อยโดยค่าเริ่มต้นมันอยู่ที่ branch master ครับผม

example : git init

git clone

clone คือ การเอางานที่เราต้องการลงมาไว้ที่เครื่องเรา (ใช้กรณีที่ไม่เคยมี Repository นั้นมาก่อน)

example : git clone

git status

status คือ ตรวจสอบสถานะของแฟ้ม ถ้ามีการเปลี่ยนแปลงก็จะแสดงให้เราเห็นว่ามีการแก้ที่ไหนหรือมีการลบที่ไหนออก ก่อนที่เราจะทำการใช้ git add ลำดับถัดไป (เป็นคำสั่งที่ผมใช้บ่อยที่สุด)

example : git status

git add

add คือ เพิ่มไฟล์ที่มีการเปลี่ยนแปลงก่อนเพื่อจะ commit เหมือนประมาณว่าแพ็คของว่าจะเอาอะไรใส่กล่องบ้างโดย git add จะแบ่งเป็น 2 แบบดังนี้

git add [path] หมายถึง ต้องการแอดเฉพาะไฟล์นั้นๆตามพาธที่เราต้องการเลือกทีละไฟล์เพื่อแพ็ค(unstage -> stage)ก่อนจะ commit อีกครั้ง

example : git add path

git add . หมายถึง ต้องแอดทั้งหมดที่มีการเปลี่ยนแปลงเพื่อแพ็ค(unstage -> stage)ก่อนจะ commit อีกครั้ง

example : git add all
วงจรสถานะของแฟ้ม (File status life cycle)
วงจรสถานะของแฟ้ม (File status life cycle) credit : https://git-scm.com

git commit

commit คือ เริ่มเก็บประวัติของแฟ้มต่าง ๆ ในโปรเจคโดยตอนนี้จะยังอยู่ใน Local Repository ส่วน -a หมายถึง All คือทั้งหมดที่มีการเปลี่ยนแปลง ส่วน -am ทั้งหมดและต้องการใส่คอมเม้นข้อความด้วย

example : git commit -am ‘[commit text]’

git push origin [branch name]

push คือ การส่ง commit ที่ Local Repository ไปยัง Remote Repository

example : git push origin [branch name]

git pull origin [branch name]

pull คือ การดึง Remote Repository ไฟล์มายัง Local Repository เพื่อทำการอัพเดต โดยหลักๆที่จะเจอคือ pull มาแล้วทำงานต่อได้เลยและอีกแบบ pull มาแล้วเกิดการ merge และอาจจะเกิด conflict file กันซึ่งเราก็ต้องทำการแก้ไฟล์ที่ error แจ้งมาจะบอกว่าไฟล์อะไรบ้างที่มีการ conflict

example : git pull origin [branch name]

git switch [branch name] ใช้กับ git version 2.23.0 last only

git checkout [path] or [branch name]

checkout คือ แปลตรงตัวเน้อคือต้องการออกจากอะไรก็ checkout ยกตัวอย่างในการใช้คำสั่งนี้ checkout branch กรณีที่ต้องการไปที่ branch อื่น

อีกกรณีหนึ่งใช้ก่อน git add จำได้หรือไม่ว่าก่อนที่จะ add ไฟล์สามารถเลือกว่าจะแอดอะไรเข้าบ้างได้ อันนี้ก็เช่นกันอะไรที่มีการเปลี่ยนแปลงแต่ไม่เอา อยากใช้ของเดิมเพียงใช้ git checkout [path] ก็สามารถให้ไฟล์นั้นกลับเป็นปกติก่อนการแก้ไขนั้นๆได้แล้วครับ

example : git checkout [path]
example : git checkout [branch name]

git merge [branch name]

merge คือ รวม เช่นเราทำงานที่ Branch develop ต้องการเอาไปรวมที่ Branch master ในการ merge ให้ทำการ checkout ไปที่ master และค่อยใช้ git merge develop เป็นต้น

example : git merge [branch name]

git fetch คือ ใช้ดึงความเปลี่ยนแปลงจาก Remote Repository มายัง Local Repository

git stash

stash คือ การบันทึกการเปลี่ยนแปลงของเราไว้ก่อนและสามารถที่จะ restore กลับได้ทุกเมื่อ โดย stash จะแบ่งออกที่ใช้หลักๆ 4 คำสั่งดังนี้

git stash save “[comment message]”สำหรับบันทึกการเปลี่ยนแปลงลงในแฟ้ม stash ไว้ก่อน

example : git stash save "test index 0"

git stash pop [index] คือ การเอา stash list index ที่ต้องการเอาออกมา เป็นการเปลี่ยนแปลงเพื่อแก้ไขหรือทำงานต่อ

example : git stash pop 0

git stash list คือ การแสดง stash list ที่เก็บไว้ทั้งหมด ❗️❗️ หมายเหตุ ออกจากการดู list ใช้ [control + z] ❗️❗️

example : git stash list

git stash drop [index]คือ ลบ stash list ออกสามารถเลือกลบโดยใส่ index ที่ต้องการได้เลย

example : git stash drop 0

มาเริ่มเอาความรู้ทั้งหมดที่ได้มาลองใช้งานดูกันครับผม 💪

อ้าววจบซะละใช้ Git Command มันก็ไม่ยากเลยนิหน่า ^_^ ไว้มีเวลาว่างจะมาอัพเดตเรื่อยๆครับผม ^^ กราบบขอบคุณครับที่เข้ามาอ่าน Blog ผม … ^^ ผิดพลาดประการใด กราบบขออภัยด้วยนะครับผม

--

--