ก๊วนซอฟท์แวร์ </softganz> SoftGang (Gang Software)

Web &amp; Software Developer Gang.

Topic List

โดย Little Bear on 8 มี.ค. 59 11:33

Git เป็นระบบจัดการซอร์ส (source code management หรือบางที่ก็เรียกว่า version control system) ตัวหนึ่งที่ได้รับความนิยมจากนักพัฒนาซอฟต์แวร์ในปัจจุบัน เพียงแค่หน้าที่หลักของมันในการติดตามการเปลี่ยนแปลงและเรียกคืนไฟล์ตามช่วงเวลาต่างๆ ก็ทำให้การทำงานโดยใช้ Git บริหารไฟล์มีประสิทธิภาพมากขึ้นหลายเท่าตัว

เคยได้ยิน เคยได้ฟัง เคยอ่านมาบ้างนิดหน่อย

แต่ยังไม่เคยได้ลองใช้งานสักที

ลองตามไปอ่านแนวคิดเรื่อง GIT จาก Blognone ดูก่อน

แล้วไปลองใช้งานได้ที่ try.github.io

เสร็จแล้วก็ไปเข้าเรียนที่ GitReal

ถึงเวลาลองของจริงเสียที

ขั้นที่ 1 : สมัครใช้บริการ GitHub

เราจะใช้ github.com เป็น Git Server นะครับ จะได้ไม่ต้องติดตั้ง Git Server เอง

เข้าไปที่เว็บ GitHub ก่อนเลย แล้วสมัครใช้บริการให้เรียบร้อย เราจะได้ username เอาไว้อ้างอิงเวลาอัพไฟล์ขึ้น GitHub

ขั้นที่ 2 : สร้าง repository บน GitHub

ขั้นตอนที่ให้ลองใช้งานบน GitHub เพื่อสร้าง repository มีวิธีการคือ

  • Create and use a repository
  • Start and manage a new branch
  • Make changes to a file and push them to GitHub as commits
  • Open and merge a pull request

ลองทำตาม Hello World บนเว็บของ GitHub ได้เลยครับ

ในที่สุด เราก็จะได้ repository มา 1 ตัว ที่สามารถเอามาใช้งานบน Ubuntu ได้ด้วย

ขั้นที่ 3 : ติดตั้ง git บน Ubuntu

ก่อนอื่น เราต้องติดตั้ง git บน Ubuntu เสียก่อนด้วยคำสั่ง

sudo apt-get install git
sudo apt-get install git-core git-gui git-doc

หรือวิธีการติดตั้ง ssh key เพื่อจะได้ใช้ git push โดยไม่ต้องป้อนรหัสผ่านทุกครั้ง ได้ที่ How to Setup and Use Github in Ubuntu

ขั้นที่ 4 : ตั้งค่า config git

git config --global user.name "Your Name"
git config --global user.email "your@email.com"

ขั้นที่ 5 : ลอง git กันเลย

โหลดโครงการมาจาก GitHub

git clone git@github.com:username/projectname.git

เปลี่ยน username,projectname เป็นชื่อที่ต้องการ

คำสั่ง

เพิ่มไฟล์ที่แก้ไขเรียบร้อยก่อน push

git add --all
git add *
git add *.txt
git add folder

สั่ง commit เพื่อเตรียมอัพ

git commit -m "Message here"

สั่ง push ไฟล์ขึ้น git

git push origin master

ดึงไฟล์จาก git server git pull (or) switch branch [/code]

กรณีที่ไฟล์บน git server ถูกเปลี่ยนแปลงโดยที่เราแก้ไขไฟล์ที่ local โดยไม่ได้ pull ไฟล์ใหม่มา มีวิธีการแก้ไข 2 วิธีคือ

  1. ดึงมาใหม่แล้วให้รวมกัน

ให้ทำ stash แล้วก็ merge หลังจากนั้นก็ pull ที่ stash

git stash
git stash pop



git pull
git stash
git pull <remote name> <remote branch name> (or) switch branch
git stash apply --index

  1. แตก branch ใหม่

  2. ยกเลิกการแก้ไขที่ local

git reset --hard



คำสั่งอื่น ๆ

git fetch upstream
git merge upstream/master

และคำสั่งที่ใช้งานบ่อย ๆ

  • git remote -v to see your fetch and push remotes
  • git status to see what you have recently changed
  • git log to see a list of all committed changes done to your fork
  • git log --stat a more detailed list of all committed changes done to your fork
  • git log --graph --full-history --all --color --pretty=format:"%x1b[31m%h%x09%x1b[32m%d%x1b[0m%x20%s" a colorful text-base graph of changes. See image on the right.