git remote server เอางานไปเก็บบน server

git remote server เอางานไปเก็บบน server

ครั้งนี้ไม่เล่าเรื่อง git แล้วนะครับ อ่านได้จาก Backup source code แบบย้อน version ได้ style programmer คราวนี้ เราจะ advance มากกว่าครั้งก่อนด้วยการ เอาไฟล์ที่เราเก็บเป็น version เนี่ย ขึ้นไปเก็บบน server จริงๆกันแล้ว ขั้นตอนไม่ยากครับ และเหมือนเดิม คือต้องฟรีนั่นเอง

ประโยชน์ของมันก็คือ มันจะเอา version history ทั้งหมด และไฟล์ทั้งหมดที่เรามี ขึ้นไปเก็บบน server เหมือนอย่างที่อยู่ในเครื่องเราเปี้ยบแล้ว แล้วเมื่อเราเปลี่ยนเครื่องเพื่อจะทำงานต่อจากจุดเดิมนั้น เราก็แค่ทำการ pull ลงจาก server ลงมาเท่านั้น ทุกอย่างที่เราเคยทำไว้บนคอมอีกเครื่องนึง ก็จะมาอยู่ตรงหน้าเราเหมือนกันทั้งหมด รวมทั้ง history ต่างๆด้วย นี่เป็นจุดแข็งกว่าการ synce ไฟล์ธรรมดาๆ ทั่วไปมากๆ และมันยังทำงานได้เร็วมากๆ เพราะว่ามันฉลาดมากพอที่จะรู้ว่า ต้องโหลดเฉพาะไฟล์ที่ถูกแก้ไขไปแล้วเท่านั้น ไม่ได้โหลดใหม่ทั้งหมด เช่น เราแก้ไขงานที่บ้าน 10ไฟล์ จากทั้งหมด 100 ไฟล์ เวลาเราไปที่ทำงาน เรา pull กลับลงมา มันก็จะมาแค่ 10 ไฟล์ที่ update เท่านั้น เพราะว่าอีก 90 ไฟล์นั้นเนื้อหายังตรงกันอยู่ ก็ไม่ต้องดึงลง แต่ถ้าเราใช้การ FTP ก็ต้องโหลดมาหมดเพราะเราขี้เกียจจำว่าไฟล์ไหนที่แก้ไขจากที่บ้านไปบ้าง หรือที่หนักกว่าก็คือ ถ้าเว็บมีเป็นหมื่นไฟล์ ก็คงนั่ง FTP กันเป็นชั่วโมงเลย

เริ่มต้น เราก็ต้องหาผู้ให้บริการ git server ซะก่อน ซึ่งมีมากมายเลยครับ เชื่อว่าหลายคนอาจจะเคยได้ยินชื่อ github มาแล้ว นั่นก็เป็นหนึ่งในผู้ให้บริการ git server ครับ แต่วันนี้ผมจะมาแนะนำ bitbucket.org เพราะว่าเค้าให้เราเก็บงานเราได้ฟรี ไม่เสียเงิน กี่งาน กี่ project ก็ได้ เป็นแบบ private ด้วยก็คือเราไม่อนุญาตให้คนอื่นเข้าถึงนั่นเอง

เริ่มต้นด้วยการสมัครสมาชิก bitbucket.org กันก่อนนะครับ ผมจะถือว่า ทุกท่านมี account แล้ว หรือว่า ท่านจะสมัครที่อื่นก็ได้เหมือนกัน ไม่ว่ากันครับ เพราะมันจะทำงานเหมือนกัน

การ เชื่อมกับ git remote server

ผมจะขอต่อเนื่องจากบทความก่อน Backup source code แบบย้อน version ได้ style programmer ก็คือ หลังจากที่เรา commit ไฟล์ได้หลาย version ผ่านไปแล้ว เราต้องการเอา version ทั้งหมดไปเก็บที่ server แล้วนะครับ 

เริ่มต้นด้วยการสร้าง repository ใน bitbucket ทำได้ด้วย กดปุ่ม Create ที่ด้านบนสุดเลย

create git repository bitbucket

จากนั้นก็กรอกข้อมูลลงไปตามที่เราต้องการ ตามตัวอย่าง 

fill form create git repository bitbucket

เราจะได้ repository ของเรามา เราก็คลิกเพื่อเอา url ดังนี้

get url after create git repository remote

เราจะเห็นว่า เค้าแสดง URL ของ repo ของเราเอาไว้ยาวๆแบบนี้เลย copy เก็บเอาไว้ก่อนครับ

วิธีหา url ของ git repository

จากนั้นมาทำการ add remote ในเครื่องเรา อันนี้คือ ศัพท์ทางเทคนิคที่เค้าใช้เรียกกันครับ คือกระบวนการ เพิ่ม remote repository ให้กับ local เรา เพื่อให้รู้ว่า local (เครื่องเรา)เราเชื่อม remote ที่ไหนอยู่
ทำได้ด้วยการคลิก Remote > add remote > Add > ใส่ path ของ git ที่เราเก็บ ค่านี้ ให้เอามาจาก bit bucket ครับ ตามที่เรา copy เก็บเอาไว้นั่นเอง

สร้าง git remote ให้ git local

ใส่ url ของ git repository

ระหว่างนี้ ระบบจะถามรหัสผ่าน ก็กรอกรหัสผ่านของ bitbucket เข้าไป เพราะว่าต้องใช้ในการเชื่อมต่อระหว่างกัน

แล้วเราก็จะได้ remote มาแล้ว

การ push ขึ้น server

ทำได้ง่ายๆด้วยการกดปุ่ม push แล้วมี popup ก็กด push ต่อไปเลย (มันจะถามเรื่องของ branch แต่เรายังไม่พูดถึงตอนนี้ เราใช้ branch master เป็น branch หลักอย่างเดียวก็เพียงพอแล้ว) และจะมีอีก popup แสดงในครั้งแรกเท่านั้น ก็กดที่ Configure ไปครับ  (มันจะถามเราเรื่องของ email กับ username ที่เราจะใช้ประกอบการ push ครับ)

การ push git repository ขึ้น server

เสร็จแล้ว เราจะได้ Output ดังนี้

ผลของการ push git repository

เท่านี้ เราก็จะได้งานเราไปเก็บที่ server แล้ว

สำหรับการเปลี่ยนเครื่องที่ทำงาน ก่อนการเริ่มงานก็กด pull ลงมา เท่านั้นเองครับ แต่ถ้าเป็นเครื่องเดิม ไม่ pull ก็ได้ ถ้าคิดว่าไม่มีใครเปลี่ยนอะไรที่ remote server แน่นอน ก็ทำงานต่อจากจุดเดิม แล้ว commit , push ตามปกติเลย แต่สำหรับใครที่ใช้การ synce file ใส่ flash drive ไปทำงานที่เครื่องอื่น ต้องระวัง folder .git (เป็น hidden folder)ที่อยู่ในแฟ้มงานในเครื่องเราด้วยนะครับ ต้อง copy ไปให้หมด เพราะว่า มันจะเป็นตัวบอกว่า เราทำงานและ commit ถึงไหนแล้ว ถ้าเสียหาย หรือไม่ตรงกัน อาจจะทำให้มันรวนครับ ผมแนะนำให้ใช้ program synce ดีๆ หรือว่าไปใช้การ pull เอาอย่างเดียวก็พอครับ 

สำหรับความถี่ในการ push อันนี้ก็แล้วแต่ครับ จะเลิกทำงานแต่ละครั้งก็ push ทีนึง หรือจะวันละครั้ง ก็ตามสะดวกครับ เพราะว่ามันคือเอาส่วนที่เก็บในเครื่องเราขึ้นไปเก็บข้างบน server นั่นเอง เวลาที่เครื่องเรามีปัญหาก็จะได้เอาจากข้างบนลงมาครับ แต่ผมแนะนำว่า ก่อนการปิดเครื่อง หรือเลิกทำงานจากหน้าจอไปนานๆก็ push สักทีนึงครับ กำลังดี

อ้อเกือบลืม บางคนอาจจะสงสัยว่า git server เนี่ย ถ้าเราเปลี่ยนให้มันเป็นพื้นที่ ที่เราใช้ เก็บเว็บเลยได้มั้ย คือการ push แต่ละครั้งก็เหมือนกับการ FTP เว็บขึ้นเลยประมาณนั้น คำตอบก็คือ ทำได้ แต่ไม่ควรทำ และมีข้อจำกัดครับ ที่บอกว่า ทำได้นั้นเพราะพื้นที่เก็บ repository มันก็คือ folder ที่หน้าตาเหมือนที่มีอยู่ในเครื่องเรานี่แหล่ะครับ ไม่ได้มีอะไรซับซ้อนเลย (รวมทั้ง folder .git ด้วย) และที่บอกว่า ไม่ควรทำ ก็เพราะว่า เราไม่ควรแตะต้องพื้นที่ production ตรงได้ง่ายๆด้วยการ push เท่านั้น ยิ่งถ้ามีการทำงานมากกว่า 1 คนยิ่งแล้วใหญ่เลย ใคร push ทีก็เละหมดเลย (จริงอยู่เรารู้ได้ว่าใครทำพัง แต่ว่าเว็บพังเราก็จะซวยไปด้วยนะ) ดังนั้น ควรเอาไปเทสให้มั่นใจก่อนค่อยเอา version ล่าสุดมาใช้กับหน้าเว็บจะดีกว่า ส่วนที่บอกว่า มีข้อจำกัดก็คือ server ต้องติดตั้ง git เอาไว้ด้วย และเราต้อง shell เข้าไปได้ด้วย เพื่อจะสั่ง command ต่างๆที่เกี่ยวข้องกับการสร้าง repository โดยวิธีการเอาขึ้น production server เค้าก็จะใช้การ pull มาจาก git server เอาอีกทีนั่นล่ะครับ (แน่นอนว่าต้องมีการ shell ด้วย)

Create: Modify : 2014-02-17 11:43:27 Read : 4513 URL :