แชร์ประสบการณ์เข้าร่วมงาน Git with Workshop one-day crash course

Sharing is caring!

git_logo

GIT (Version Control)

วันนี้มีโอกาสได้เข้าร่วมงาน Git with Workshop one-day crash course โดย คุณ Tomz จาก Agoda ณ Stream I.T. Consulting Ltd. วันที่ 17 พ.ค. 2558 09.30 – 16.00

หัวข้อ คอร์สเทรนของวันนี้

Git with Workshop one-day crash course
1) Introduction to Git
2) Tools
Client side ( Git bash (command line), SourceTree,TortoiseGit)
Server side ( Gitlab)
Free 3 ways merge Tools
3) Install and Configure Git for Windows

== Local ==
4) Create local and shared Git repos
Add, Remove & Commit Files to repos
5) Working with History
6) Code sharing Model
7) Branching, Tag, Merging, Rebase
8) Handling Conflicts (drama)
9) reset, Chery-pick

= Remote =
– Clone
– Push, Pull, Fetch, Diff
– Branch Remote Repos

โดย คอร์สเทรน จะแบ่งเป็น 2 ช่วง เช้า-บ่าย

คอร์สช่วงเช้า

คุณTomz (วิทยากรที่ให้ความรู้เรื่อง GIT ในครั้งนี้) พูดถึง Introduction to Git (ส่วนนี้ไปหาอ่านเพิ่มเติมได้นะครับ) ต่อด้วยเรื่อง Tools ที่ใช้ประกอบด้วย

Tools ที่ใช้พัฒนาทางฝั่ง client

  • Git bash (command line) (พื้นฐานจพเป็นของติดตั้ง)
  • SourceTree (เครื่องมือ GUI สำหรับใช้งานการทำงานของ GIT เครื่องมือนี้ง่ายดีครับผมแนะนำ)
  • TortoiseGit (เครื่องมืออีกตัวที่ใช้งาน คู่กับ GIT ได้แต่ไม่ได้พูดถึง เพราะขึ้นกับเวลา เน้นไปทางการใช้งานผ่าน command promt จะทำให้จำได้ดีกว่า)

Tools ที่ใช้ทางฝั่ง Server side

  • Gitlab (ทำหน้าที่คล้ายกับ github ไปลองเล่นใช้งานได้จาก https://github.com/ มีเวอชั่นฟรีใช้งานได้)

แนะนำการติดตั้งและตั้งค่า Git ให้ใช้งานได้ สำหรับ windown และ linux

และเมื่อวิทยากรพร้อม เครื่องมือพร้อม เรามาลุยกันเลย

เริ่มแรกให้สร้าง Directory เก็บก่อนโดยหลัก ๆ คุณ Tomz จะเน้นไปทาง command promt คือพิมพ์คำสั่งโดยไม่ผ่าน GUI

  • สร้าง directory เก็บ => "mkdir hello"
  • เข้าไปใน directory  => "cd hello"
  • สร้าง repository  => "git init"
  • สร้างไฟล์ เพื่อใช้ทดสอบ => "cat > hello.txt"
  • นำไฟล์ทดสอบเข้า repository  => "git add hello.txt" (ขั้นตอนนี้เหมือนการนำไฟล์มาพักรอการ push)
  • นำไฟล์ขึ่น server พร้อมแนบคอมเม้น เพื่อการติดตาม => "git commit -m "create new file for test""

git_process

เราก็จะได้ code ที่ไปเก็บไว้ใน repository ของ git เรียบร้อย นอกคำสั่งพื้นฐานเหล่านี้ยังมีคำสั่ง พิเศษเพื่อช่วยในการใช้งาน GIT ให้ดียิ่งขึ้น

  • "git status" (เพื่อดูสถานะ ปัจจุบันของการทำงาน GIT)
  • "git log" (ดูประวัติการทำงาน) หรือ "git log --oneline --abbrev-commit --all --graph --decorate" ก็ได้
  • ฯลฯ มีอีกเยอะครับคำสั่งผมก็เพิ่งเริ่มใช้งานเอาไปเท่านี้ก่อน อยากรู้เพิ่มเติมตามไปดูที่ http://git-scm.com/doc ได้

คอร์สช่วงบ่าย

การนำ clone repository จาก server มาที่เครื่อง (ในที่นี้จะขอใช้ github ครับเป็นที่เก็บ code ส่วนกลาง)

  • ไปสร้าง repository ก่อน (ต้องทำการสมัครสมาชิกก่อน ท่านที่ยังไม่มี account จึงจะสามารถใช้งานได้)

github_create_repo

  • เมื่อสร้างเสร็จ

github_create_detail

  • คำสั่งจะแยกออกเป็น 2 แบบ

–  แบบที่ต้องสร้าง new repository ใหม่ code เรายังไม่ได้สร้าง (ยังไม่ได้ใช้คำสั่ง git init)

 echo # git-workshop-1 >> README.md
 git init
 git add README.md
 git commit -m "first commit"
 git remote add origin https://github.com/pool13433/git-workshop-1.git
 git push -u origin master

–  แบบที่ repository แล้ว

git remote add origin https://github.com/pool13433/git-workshop-1.git
git push -u origin master

เหล่านี้คือส่วนหนึ่งที่ผมได้จากงานนี้ แต่ยังมีอีกเยอะมาก(ผมจดไม่ทัน ความจำผมก็ไม่ค่อยดี 😥 ) การเข้าคอร์สเทรนครั้งนี้ทำให้รู้ความแตกต่างระหว่างการควบคุมเวอร์ชั่นของโค๊ดแบบ เก่า ๆ ผมเคยใช้แต่ svn แต่พอได้เรียน GIT วันนี้จะเริ่มให้ที่ทำงานมาใช้ GIT บ้างแล้ว