Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Day 1 - Git

offz
April 19, 2017

Day 1 - Git

Show how to use git for beginner.

offz

April 19, 2017
Tweet

More Decks by offz

Other Decks in Programming

Transcript

  1. Git

  2. Keywords - commit: snapshot งานของเรา ณ. เวลานั้นๆ - branch: pointer

    ที่ชี้ไปที่ commit 1 จุด - checkout: เปลี่ยน branch - merge: นำ 2 branch มารวมกัน
  3. Keywords - clone: นำ code จากบน server ลงมา - push:

    ส่งงานจากเครื่อง ขึ้นไปที่ server - fetch: download งานล่าสุดจาก server - pull: fetch + merge
  4. Merge (conflict) B A Master a.txt (Dev) ——————————— Hello 


    Thailand Dev C a.txt (Master) ——————————— Hello 
 World
  5. Merge (conflict) B A a.txt (Dev) ——————————— Hello 
 Thailand

    C a.txt (Master) ——————————— Hello 
 World E Dev Master a.txt (conflict) ——————————— Hello >>>>>>>
 World ======= Thailand <<<<<<<
  6. Merge (conflict) B A C Dev Master E a.txt (Dev)

    ——————————— Hello 
 World a.txt (Master) ——————————— Hello 
 World
  7. ไม่ต้องต่อ internet ตลอด Server B A C D Master E

    เครื่องเรา B A C D Master Dev E F G Dev
  8. งานไม่หาย Server B A C D Master E เครื่องเรา B

    A C D Master Dev E ก ข G F Dev G F Origin/Dev H H
  9. ทำงานกับ Git - pull ของใหม่บ่อยๆ - จะเริ่มงานใหม่ ให้แตก branch -

    ทำงาน feature เล็กๆ เสร็จแล้วก็ commit - push ขึ้น server บ่อยๆ ป้องกันงานหาย - งานเสร็จแล้ว ให้ merge กลับไปที่ branch หลัก
  10. ข้อดีของ Gitlab - open source และ ฟรี - host เอง

    ทุกอย่างอยู่ภายใต้การควบคุม - มี CI/CD ในตัวเลย และเป็น code base CI 
 ซึ่งจัดการได้ง่ายมาก
  11. ทำงานกับ Gitlab 1. สร้าง issue 2. สร้าง branch จาก issue

    3. ใช้คำสั่ง git fetch และ git checkout <branch_name> 4. เมื่องานเสร็จให้ push ขึ้นไปที่ server 5. เปิด merge request
  12. walkthrough 01 1. สร้าง project <name>/git_introduction 2. clone project 3.

    สร้างไฟล์ README.md 4. commit 5. push ไป master
  13. walkthrough 02 1. clone project git_first_time 2. สร้าง issue 3.

    สร้าง branch จาก issue และสร้าง Merge Request 4. ใช้คำสั่ง git fetch และ git checkout <branch_name>
  14. exercise 1 1. สร้าง folder เป็นชื่อของตัวเองที่จะไม่ซ้ำกับคนอื่น 2. สร้าง file README.md

    ใน folder นั้น 3. เขียน markdown ตามต้องการ 4. commit เรื่อยๆ และ push ขึ้น server เป็นครั้งคราว 5. เมื่อทำงานเสร็จแล้ว ให้เอา WIP: ออก
  15. exercise 2 1. สร้าง folder ชื่อ shared 2. สร้าง file

    <[1-10]>.md ใน folder นั้น 3. เขียน markdown ตามต้องการ 4. commit เรื่อยๆ และ push ขึ้น server เป็นครั้งคราว 5. พยายามทำให้ merge request เป็นสีเขียว