Image
By mk Founder on Tag: Git, Microsoft, GitHub, Development, File System
Git

ปัจจุบัน ไมโครซอฟท์ถือเป็นผู้ใช้ Git รายใหญ่ที่สุดของโลก เพราะย้ายซอร์สโค้ดทั้งหมดของ Windows มาเก็บไว้บน Git โดยไมโครซอฟท์แก้ปัญหาเรื่องประสิทธิภาพของ Git ที่ต้องจัดการไฟล์จำนวนมากๆ ด้วยการสร้าง GVFS (Git Virtual File System) ขึ้นมาช่วย

By mk Founder on Tag: Git, Windows, Development, Version Control, Microsoft
Git

ไมโครซอฟท์เผยว่าย้ายซอร์สโค้ด Windows ทั้งหมดจากระบบ Source Depot ของตัวเอง มาสู่ Git เรียบร้อยแล้ว ส่งให้ไมโครซอฟท์มี git repository ที่ใหญ่ที่สุดในโลกในทันที

By lew Founder on Tag: GitHub, Git, Atom Text Editor
GitHub

GitHub ประกาศ Atom เวอร์ชั่นใหม่ ที่ทำงานร่วมกับ GitHub ได้เต็มรูปแบบมากขึ้น โดยสามารถเลือก branch, หรือแก้ conflict จาก Atom ได้เลย

นอกจากการปรับปรุง Atom แล้วบริษัทยังเปิดตัว GitHub Desktop Beta พร้อมกัน โดยเป็นแอปพัฒนาด้วย Electron เช่นเดียวกับ Atom เอง โดยพัฒนาใหม่ทั้งหมดแยกจาก GitHub Desktop เดิม เนื่องจากเดิมพัฒนาแบบเนทีฟแล้วพบว่าการการรองรับแพลตฟอร์มใหม่ๆ ทำได้ยากมากทีมงานระบุว่าได้ทดลองเทคโนโลยีอื่นแล้วแต่สุดท้ายก็หันมาใช้ Electron

GitHub Desktop เดิมยังมีต่อไป

By vvkungx Contributor on Tag: GitHub, Git
GitHub

GitHub เพิ่มฟีเจอร์ให้สามารถเลือกผู้ใช้ใน repo ยกเลิกรีวิว pull request ที่อยู่ใน protect branch ได้

ปีที่แล้ว GitHub ได้อัพเดตฟีเจอร์ใน pull request เช่น จัดการ, ร้องขอและยกเลิกรีวิวโค้ด รวมไปถึงสามารถตั้งค่า protect branch และจำกัดการ merge ได้ เพื่อช่วยให้การทำงานภายทีมได้รับผลตอบรับสม่ำเสมอและช่วยเพิ่มประสิทธิภาพของโค้ดในโปรเจคให้ดีขึ้น ล่าสุดได้เพิ่มการจำกัดผู้ที่สามารถยกเลิกรีวิว pull request ในโปรเจค

ตัวฟีเจอร์สามารถเลือกผู้ใช้ที่อยู่ในทีมเป็นคนสั่งยกเลิกรีวิวของ pull request ใน protect branch ได้ทันที เหมาะสำหรับ repo ที่ทำงานเป็นทีมหรือองค์กรและมีผู้รีวิวโค้ดอยู่ในทีม สามารถใช้งานได้แล้วโดยเปิดใช้การร้องขอรีวิว pull request ก่อน

ที่มา : GitHub

By mk Founder on Tag: Git, File System, Open Source, Microsoft
Git

ไมโครซอฟท์เปิดตัวระบบไฟล์เสมือน GVFS (Git Virtual File System) ใช้เก็บข้อมูลในระบบ Git โดยเฉพาะ เพื่อให้ Git มีประสิทธิภาพมากขึ้นสำหรับเก็บซอร์สโค้ดขนาดใหญ่มากๆ

ไมโครซอฟท์อธิบายว่า Git ไม่ได้ถูกออกแบบมาให้เก็บไฟล์จำนวนมาก (ตัวอย่างคือซอร์สโค้ดของ Windows มีขนาด 270GB และจำนวนไฟล์ 3.5 ล้านไฟล์) เวลาทำงานกับไฟล์จำนวนมากๆ บางคำสั่งอย่าง git checkout หรือ git status ที่ต้องทำงานกับไฟล์ทั้งหมด ต้องใช้เวลานานเป็นหลายชั่วโมงกว่าจะเสร็จ

By lew Founder on Tag: Git, Cloud Storage, GitLab
Git

GitLab (คนละเจ้ากับ GitHub) ผู้ผลิตซอฟต์แวร์จัดการโครงการและผู้โฮสต์บริการ Git รายใหญ่มีปัญหาข้อมูลสูญหายจากความผิดพลาดของผู้ดูแลระบบ ทำให้บริการทั้งหมดต้องปิดตัวลงระหว่างทีมงานกำลังกู้คืนข้อมูล

รายงานความคืบหน้าของการกู้คืนข้อมูลพบว่าระบบสำรองข้อมูลอาจจะไม่ทำงานเพราะ pg_dump ใช้งานผิดเวอร์ชั่น โดยระบบฐานข้อมูลเป็น PostgreSQL 9.6 แต่ pg_dump กลับเป็นเวอร์ชั่น 9.2 และระบบสำรองข้อมูลขึ้น AWS S3 ก็ไม่ทำงานเช่นกัน

By mk Founder on Tag: Git, Version Control, Open Source
Git

โครงการ Git ออกเวอร์ชัน 2.10.0 ของใหม่ที่สำคัญคือแสดงความคืบหน้าเมื่อสั่ง git push ส่งโค้ดไปที่เซิร์ฟเวอร์อย่างละเอียด บอกว่ากำลังทำงานอะไรอยู่ ส่งข้อมูลไปถึงไหนแล้ว สถานะของเซิร์ฟเวอร์เป็นอย่างไร (สำหรับคนที่ชอบความเงียบ สามารถใช้คำสั่ง git push --quiet ได้) ฟีเจอร์แสดงสถานะยังใช้กับคำสั่ง git clone ตอนดึงซอร์สออกมาด้วย

ฟีเจอร์อย่างอื่นคือการคอนฟิกสีสันของ Git terminal โดยสามารถแสดงตัวเอียง (italic) และขีดฆ่ากลาง (strikethrough) ได้แล้ว

By lew Founder on Tag: Git, DigitalOcean, Cloud Computing, Programming, Development
Git

GitLab.com ผู้พัฒนาระบบจัดการโค้ดโอเพนซอร์สและบริการโฮสต์โค้ดประกาศความร่วมมือกับ DigitalOcean ให้บริการเซิร์ฟเวอร์ฟรีสำหรับผู้ที่วางโฮสต์บน GitLab.com โดยใช้ฟีเจอร์ GitLab Runner Autoscale

บริการฟรีจำกัดเฉพาะผูใช้ GitLab.com เท่านั้น ส่วนผู้ที่ดาวน์โหลด GitLab ไปติดตั้งเองสามารถขอรับโปรโมชั่น 10 ดอลลาร์ (ซึ่งเอาเข้าจริงก็ไม่ต่างจากโปรโมชั่นทั่วไปของ DigitalOcean) หรือหากเป็นลูกค้า GitLab Enterprise Edition จะได้อีเมลเสนอโปรโมชั่นเครดิตถึง 250 ดอลลาร์

By champjss Contributor on Tag: Git, Security
Git

เมื่อวานนี้ Laël Cellier รายงานช่องโหว่ remote code execution ซึ่งเป็นช่องโหว่บน Git ทุกรุ่นที่เก่ากว่า 2.7.1 ทำให้เกิด buffer overflow ได้เมื่อผู้ push หรือ clone โปรเจกต์ที่มีชื่อไฟล์ยาวหรือมีโครงสร้างไดเรกทอรีซ้อนกันมากๆ

ปัญหาดังกล่าวถูกแก้มาตั้งแต่ 8 กุมภาพันธ์ที่ผ่านมาในรุ่น 2.7.1 แต่ดูเหมือนว่าจะไม่ได้รับความสนใจเท่าใดนัก จนกระทั่งมีการนำช่องโหว่นี้ไปรายงานในเว็บไซต์ seclists ดังกล่าว

By neizod Contributor on Tag: Special Report, Version Control, Git
Special Report

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

By neizod Contributor on Tag: Git, Atlassian, Bitbucket
Git

Atlassian บริษัทเจ้าของเว็บฝากซอร์ส Bitbucket (คู่แข่งรายสำคัญกับ GitHub) ออกฟีเจอร์ดีพลอยขึ้นสู่กลุ่มเมฆของ Amazon, Microsoft และ DigitalOcean ได้ภายในหน้าเว็บเลยทันที

By neizod Contributor on Tag: Development, GitHub, Git
Development

GitHub ประกาศว่าจะปล่อย 2 ความสามารถใหม่ภายในไม่กี่สัปดาห์หน้า ได้แก่

By neizod Contributor on Tag: GitHub, Git
GitHub

GitHub ออกแอพ GitHub Desktop สำหรับ Windows และ OS X โดยแอพดังกล่าวจะมาแทนที่แอพ GitHub for Windows / Mac เดิมครับ

เท่าที่ลองเล่นคร่าวๆ ผมพบว่าระบบกิ่งก้านถูกออกแบบให้เข้าใจง่ายขึ้นมากครับ และการสั่งรวมกิ่งก้านที่ก่อให้เกิดข้อขัดแย้ง (merge conflict) ก็ทำงานได้อย่างถูกต้องไม่ต้องเปิดคอมมานด์ไลน์ขึ้นมาแก้ไขแล้ว

นอกจากนี้ หากใครยังใช้ Git ไม่คล่อง เมื่อเปิดโปรแกรมครั้งแรกจะมี tutorial เล็กๆ ช่วยแนะนำ best practice การใช้งานด้วยครับ

ดาวน์โหลดแอพได้จาก desktop.github.com

By neizod Contributor on Tag: Git
Git

ไฮไลท์รอบนี้อยู่ที่คำสั่งย่อย git worktree สำหรับจัดการกับโค้ดโครงการเดียว แต่มีก๊อบปี้หลายชุดครับ

By mk Founder on Tag: Google, Development, Git, Google Cloud
Google

เราเพิ่งเห็นข่าว Google Code ประกาศปิดโครงการ ไปเมื่อเร็วๆ นี้ โดยคำแนะนำของกูเกิลคือให้ย้ายไปใช้ GitHub หรือ Bitbucket แทน

แต่ล่าสุดกูเกิลกลับเปิดตัวบริการลักษณะเดียวกันอย่างเงียบๆ ในชื่อว่า Google Cloud Source Repositories โดยเป็นสมาชิกหนึ่งของบริการ Google Cloud Platform

By khasathan Contributor on Tag: P2P, GitHub, Git
P2P

Git เป็นซอฟต์แวร์ version control ที่ได้รับความนิยมเป็นอย่างมากเพราะช่วยอำนวยความสะดวกในการจัดการซอร์สโค้ดในโครงการขนาดใหญ่ที่มีนักพัฒนาจำนวนมากได้ดี

โครงการโอเพนซอร์สหลายโครงการที่ใช้ Git เป็นหลักนิยมใช้บริการ GitHub ซึ่งเป็น Git hosting ที่มีเครื่องมืออำนวยความสะดวกในการทำงานอย่าง wiki, issue tracker ให้ใช้ได้ฟรีและในบางโครงการที่ต้องการความเป็นส่วนตัวเข้าถึงได้เฉพาะคนภายในก็สามารถตั้งเซิร์ฟเวอร์เองได้เช่นกัน

By neizod Contributor on Tag: Git
Git

ความสามารถใหม่รอบนี้คือ push แบบอันหนึ่งอันเดียว (atomic) ครับ เช่น

$ git push --atomic branch1 branch2

การกระทำนี้จะรับรองว่า การ push กิ่งทั้ง branch1 และ branch2 ต้องสำเร็จเท่านั้น ถึงทำการ push กิ่งทั้งสองได้ มิเช่นนั้นแล้วก็จะไม่มีกิ่งไหนที่ถูก push เลย

ในสถานการณ์ทั่วๆ ไปอาจจะไม่ได้ใช้ความสามารถนี้เท่าไหร่ แต่เมื่อต้องทำระบบอัตโนมัติ มันจะช่วยลดความผิดพลาดได้ครับ

ส่วนความสามารถอื่นๆ ที่ถูกปรับปรุงเพิ่มเติมคือ

By neizod Contributor on Tag: Open Source, Anniversary, Git, Linus Torvalds
Open Source

เมื่อเดือนที่แล้ว Git มีอายุครบ 10 ปีพอดี เว็บ Linux.com ได้สัมภาษณ์ Linus Torvalds ผู้พัฒนาซอฟต์แวร์ตัวนี้ขึ้นมา โดยความเห็นที่น่าสนใจมีดังนี้

By neizod Contributor on Tag: GitHub, Git
GitHub

การออกแบบที่เป็นจุดแข็งอย่างหนึ่งของระบบจัดการเวอร์ชันซอฟต์แวร์แบบกระจายศูนย์อย่าง Git คือ เครื่องไคลเอนต์ทุกเครื่องต้องเก็บข้อมูลทุกอย่างไว้ติดตัว (เพื่อจะสามารถทำหน้าที่เป็นเซิร์ฟเวอร์สำรองได้ทันทีเมื่อเครื่องเซิร์ฟเวอร์จริงเสียหาย)

แต่จุดแข็งนี้ก็อาจไม่ใช่ข้อดีเสมอไป โดยเฉพาะอย่างยิ่งเมื่อต้องทำงานกับไฟล์ขนาดใหญ่ เช่น ไฟล์เสียง ไฟล์ภาพยนตร์ เพราะเครื่องไคลเอนต์ทุกเครื่องต้องเสียพื้นที่เก็บไฟล์ขนาดใหญ่นี้ติดตัวเสมอ

By neizod Contributor on Tag: Git
Git

หลังจากออกรุ่น 2.0 ไปเมื่อกลางปีที่แล้ว ตอนนี้ Git ก็เดินทางมาถึงเลขรุ่น 2.3 แล้วครับ

ของเล่นใหม่รุ่นนี้ คือการสั่ง push เพื่อ deploy จากไคลเอนต์ได้ทันที เพียงเพิ่มคำสั่งนี้ไปที่ repository ฝั่งเซิร์ฟเวอร์

$ git config receive.denyCurrentBranch updateInstead

คำเตือนสำหรับเทคนิคนี้คือเซิร์ฟเวอร์จะใช้พื้นที่เก็บไฟล์มากขึ้น เพราะ Git ต้องเก็บประวัติทั้งหมดของ repository ไว้ นอกจากนี้ยังต้องระวังผู้ใช้ทั่วไปเข้ามาอ่านไฟล์ในโฟลเดอร์ .git ด้วยครับ

Subscribe to Git