แชร์ผ่าน


ข้อมูลสําคัญของ Git และ GitHub สําหรับเอกสารประกอบ Microsoft Learn

ภาพรวม

ในฐานะผู้ร่วมสร้างเอกสาร Microsoft Learn คุณจะโต้ตอบกับเครื่องมือและกระบวนการหลายอย่าง คุณจะทำงานควบคู่ไปกับผู้ร่วมสร้างเอกสารคนอื่นๆ ในโครงการเดียวกันซึ่งอาจเป็นเนื้อหาเดียวกันและในเวลาเดียวกัน สามารถทำทั้งหมดนี้ได้ด้วยซอฟต์แวร์ Git และ GitHub

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

GitHub เป็นบริการโฮสต์พื้นที่เก็บ Git บนเว็บ เช่น พื้นที่เก็บเนื้อหา Microsoft Learn สำหรับทุกโครงการ GitHub โฮสต์ที่เก็บข้อมูลหลัก ซึ่งผู้ร่วมทำงานสามารถทำสำเนางานของตนเองได้จากที่นี่

บทความนี้กําหนดคําสําคัญที่เป็นส่วนหนึ่งของเวิร์กโฟลว์ Microsoft Learn นอกจากนี้ยังให้ภาพรวมของที่เก็บ Git และ GitHub และอธิบายวิธีการจัดระเบียบเนื้อหาสําหรับเอกสารทางเทคนิคของ Microsoft

สาขา

สาขาแยกสตรีมของงาน (โดยทั่วไปจะเรียกว่าเวอร์ชัน) จะมีการจัดใส่ข้อมูลและจัดขอบเขตในสาขาหนึ่งๆ

การเปลี่ยนแปลงที่เกี่ยวข้องกับการแยกไปยังสาขาที่เฉพาะเจาะจงช่วยให้คุณสามารถควบคุมและแนะนําการเปลี่ยนแปลงเหล่านั้นได้อย่างอิสระ ในความเป็นจริงขึ้นอยู่กับชนิดของงานที่คุณทำ คุณสามารถลงเอยกับหลายสาขาการทำงานได้อย่างง่ายดายในที่เก็บของคุณ ไม่ใช่เรื่องที่พบเห็นได้ทั่วไปที่จะทำงานบนหลายสาขาพร้อมๆ กัน ซึ่งแต่ละสาขาแสดงถึงโครงการที่แตกต่างกัน

ที่เก็บทั้งหมดประกอบด้วยสาขาเริ่มต้น (โดยทั่วไปจะมีชื่อว่า "หลัก") และสาขาที่กําลังดําเนินการอย่างน้อยหนึ่งสาขา (ซึ่งเราเรียกว่าสาขาที่ทํางาน) ที่ยังไม่ได้รวมเข้ากับสาขาเริ่มต้น สาขาเริ่มต้นทําหน้าที่เป็นเวอร์ชันปัจจุบันและเป็น "แหล่งความจริงเพียงแหล่งเดียว" สําหรับโครงการ สาขาหลักเป็นตัวแม่ที่สร้างสาขาอื่นๆ ทั้งหมดในที่เก็บ

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

Fork

คําศัพท์นี้มักใช้เป็นคํานามเมื่ออ้างถึงสําเนาของที่เก็บ GitHub หลัก ในทางปฏิบัติ สำเนาคือที่เก็บอีกที่หนึ่ง แต่มีความพิเศษในแง่ที่ว่า GitHub รักษาการเชื่อมต่อกลับไปยังที่เก็บหลัก/แม่ คํานี้บางครั้งใช้เป็นคํากริยาดังเช่น "คุณต้องสําเนาที่เก็บข้อมูลก่อน"

Git

ถ้าคุณคุ้นเคยกับระบบควบคุมแบบรวมศูนย์ (เช่น Team Foundation Server, SharePoint หรือ Visual Source ตู้เซฟ) คุณจะพบว่า Git มีเวิร์กโฟลว์และคําศัพท์การทํางานร่วมกันที่เป็นเอกเทศเพื่อสนับสนุนรูปแบบการกระจายเนื้อหา ตัวอย่างเช่น ไม่มีการล็อคไฟล์ที่มักเกี่ยวข้องกับการดําเนินการเช็คเอาท์/เช็คอิน แต่ Git มีความกังวลเกี่ยวกับการเปลี่ยนแปลงในระดับที่ดีกว่าเมื่อเปรียบเทียบไฟล์ทีละไบต์

Git ยังใช้โครงสร้างแบบชั้นพื่อจัดเก็บและจัดการเนื้อหาสำหรับโครงการ:

  • พื้นที่เก็บ: หรือที่เรียกว่า repo ซึ่งเป็นหน่วยสูงสุดของการเก็บข้อมูล ที่เก็บประกอบด้วยสาขาหนึ่งสาขาหรือมากกว่า
  • สาขา: หน่วยเก็บข้อมูลที่ประกอบด้วยไฟล์และไฟล์ที่สร้างชุดเนื้อหาของโครงการ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับสาขา ดูหัวข้อ สาขา ของบทความนี้

ผู้ร่วมสร้างข้อมูลในโครงการจะทำการโต้ตอบกับ Git เพื่อปรับปรุงและจัดการพื้นที่เก็บในระดับท้องถิ่นและระดับ GitHub

  • โดยใช้เครื่องมือต่างๆ เช่น คอนโซล Git Bash ซึ่งสนับสนุนคำสั่ง Git เพื่อจัดการพื้นที่เก็บข้อมูลภายในเครื่อง และติดต่อสื่อสารกับพื้นที่เก็บข้อมูล GitHub
  • ผ่านทาง www.github.com ที่มี Git ทำหน้าที่จัดการการรวบรวมการนำเสนอข้อมูลที่ไหลกลับเข้าไปในที่เก็บหลัก

GitHub

หมายเหตุ

แม้ว่าคําแนะนําเอกสารจะยึดตามการใช้ GitHub แต่บางทีมใช้บริการของ Visual Studio Team เพื่อโฮสต์พื้นที่เก็บ Git ไคลเอนต์ของ Visual Studio Team Explorer มี GUI สำหรับการโต้ตอบกับพื้นที่เก็บบริการของ Team ในฐานะเป็นทางเลือกแทนการใช้คำสั่ง Git ทางบรรทัดคำสั่ง
นอกจากนี้ ยังมีอีกหลายแนวทางต่อไปนี้ที่จัดทําจากประสบการณ์หลายปีในการโฮสต์เนื้อหาบริการ Azure ใน GitHub อาจจําเป็นต้องใช้แหล่งข้อมูลเหล่านี้ในที่เก็บข้อมูล Microsoft Learn บางรายการ

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

ไดเรกทอรีองค์กร

สาขาเริ่มต้นของโครงการทําหน้าที่เป็นเวอร์ชันปัจจุบันของเนื้อหาสําหรับโครงการ เนื้อหาในสาขาเริ่มต้นและสาขาที่สร้างขึ้นจากสาขานั้น จะถูกจัดตําแหน่งอย่างหลวม ๆ กับองค์กรของบทความบนหน้า Microsoft Learn ที่สอดคล้องกัน ไดเรกทอรีย่อยจะถูกใช้เพื่อแยกกัน เช่น บทความ (เช่น บริการ) เนื้อหาสื่อ (เช่น ไฟล์รูปภาพ) และไฟล์ "รวม" (ซึ่งทําให้ใช้เนื้อหาซ้ําได้)

ไดเรกทอรีย่อยของบทความ

โดยทั่วไป คุณสามารถค้นหา articles ไดเรกทอรี่หลักจากรากของที่เก็บ ไดเรกทอรีarticlesประกอบด้วยชุดของบทความของไดเรกทอรีย่อยในไดเรกทอรีย่อยถูกจัดรูปแบบเป็นไฟล์ Markdown ที่ใช้นามสกุล .md พื้นที่เก็บบางอย่างซึ่งสนับสนุนบริการหลายอย่างใช้ /articles ไดเรกทอรีย่อยทั่วไป เช่น ที่เก็บ Azure-Docs พื้นที่เก็บบางอย่างอาจใช้ชื่อบริการเฉพาะ เช่น ที่เก็บ IntuneDocs ซึ่งใช้ /IntuneDocs

ภายในรากของไดเรกทอรีนี้ คุณสามารถค้นหาบทความทั่วไปที่เกี่ยวข้องกับบริการหรือผลิตภัณฑ์โดยรวม และโดยทั่วไปแล้ว คุณจะพบชุดไดเร็กทอรีย่อยอื่นๆ ที่ตรงกับคุณลักษณะ/บริการหรือสถานการณ์ทั่วไป ตัวอย่างเช่น บทความ "เครื่องเสมือน" Azure อยู่ใน /virtual-machines ไดเรกทอรีย่อยและบทความ "เข้าใจและสำรวจ" ของ Intune อยู่ใน /understand-explore ไดเรกทอรีย่อย

ไดเรกทอรีย่อยของสื่อ

แต่ละไดเร็กทอรีบทความประกอบด้วยไดเรกทอรีย่อย/media สำหรับไฟล์สื่อที่เกี่ยวข้อง ไฟล์สื่อที่ประกอบด้วยรูปที่บทความใช้โดยอ้างอิงถึงรูปนั้น

รวมไดเรกทอรีย่อย

เมื่อใดก็ตามที่เรามีเนื้อหาที่นำมาใช้ซ้ำได้ซึ่งใช้ร่วมกันในบทความสองชิ้นหรือมากกว่า เนื้อหานี้จะอยู่ใน/includesไดเรกทอรีย่อยจากไดเรกทอรีหลัก articles ในไฟล์ Markdown ที่ใช้ไฟล์รวมส่วนขยาย Markdown "รวม" ที่เกี่ยวข้องจะอยู่ในตำแหน่งที่อ้างถึงไฟล์ "รวม" นั้น

ดู การอ้างอิง Markdown: รวม สําหรับคําแนะนําเพิ่มเติม

เท็มเพลตไฟล์ Markdown

เพื่อความสะดวก ไดเรกทอรีรากของที่เก็บแต่ละแห่งมักมีไฟล์เทมเพลต Markdown ชื่อ template.md คุณสามารถใช้ไฟล์เทมเพลตนี้เป็น "ไฟล์เริ่มต้น" หากต้องการสร้างบทความใหม่เพื่อส่งไปยังที่เก็บ ไฟล์ประกอบด้วย:

  • ส่วนหัวของเมตาดาต้า ที่ด้านบนของไฟล์ซึ่งมีตัวขีดกลาง 3 ตัวที่ถูกขีดเส้นใต้สองเส้น ส่วนหัวนี้ประกอบด้วยแท็กต่างๆ ที่ใช้ในการติดตามข้อมูลที่เกี่ยวข้องกับบทความ เมตาดาต้าของบทความทำให้ใช้งานฟังก์ชันบางอย่าง เช่น การระบุแหล่งที่มาของผู้เขียน การระบุแหล่งที่มาผู้ร่วมสร้างโครงการ และคำอธิบายบทความ นอกจากนี้ ยังรวมถึงการเพิ่มประสิทธิภาพ SEO และกระบวนการรายงานที่ Microsoft ใช้เพื่อประเมินประสิทธิภาพของเนื้อหา ดังนั้น เมตาดาต้าจึงเป็นสิ่งสำคัญ
  • ส่วนเมตาดาต้า ที่อธิบายแท็กและค่าเมตาดาต้าต่างๆ ถ้าคุณไม่แน่ใจว่าควรใช้ค่าใดในส่วนเมตาดาต้า คุณสามารถปล่อยว่างไว้ หรือแสดงข้อคิดเห็นโดยวางแฮชแท็ก (#) ข้างหน้า และค่านั้นจะถูกตรวจทาน/กรอกให้สมบูรณ์โดยผู้ตรวจทานคำขอดึงข้อมูลสำหรับที่เก็บ
  • ตัวอย่างต่างๆ ของการใช้ Markdown เพื่อจัดรูปแบบ elements ของบทความ
  • คำแนะนำเกี่ยวกับการใช้ส่วนขยาย Markdown ซึ่งคุณสามารถใช้สำหรับการแจ้งเตือนชนิดต่างๆ
  • ตัวอย่างของฝังวิดีโอโดยใช้ iframe
  • คําแนะนําเกี่ยวกับ การใช้ส่วนขยายเอกสารทางเทคนิคของ Microsoft ซึ่งคุณสามารถใช้สําหรับการควบคุมพิเศษ เช่น ปุ่มและตัวเลือก

ที่มา

คําศัพท์นี้คือชื่อที่กําหนดให้กับการเชื่อมต่อระหว่างที่เก็บภายในเครื่องของคุณและที่เก็บข้อมูลที่ถูกลอกแบบขึ้น ในเวิร์กโฟลว์ Microsoft Learn จุดเริ่มต้นจะแสดงถึงการเชื่อมต่อกับทางสปอตของคุณ คําศัพท์นี้บางครั้งใช้เป็นมอนิเกอร์แบบสําหรับที่เก็บจุดเริ่มต้นของตัวเอง เช่นใน "จําเพื่อผลักการเปลี่ยนแปลงของคุณไปยังจุดเริ่มต้น"

คำขอดึงข้อมูล

คําขอดึงข้อมูล (PR) เป็นคําขอให้เจ้าของเนื้อหาดึงการเปลี่ยนแปลงของคุณลงในแหล่งข้อมูลอย่างเป็นทางการ PR เปิดใช้งานแบบจําลองการทํางานร่วมกันของ GitHub โดยการขอการเปลี่ยนแปลง (หรือที่เรียกว่า ยืนยัน) จากสาขาการทํางานของคุณเพื่อดึงและรวมเข้ากับสาขาอื่น ในกรณีส่วนใหญ่ สาขาอื่นคือสาขาเริ่มต้นในที่เก็บหลัก

PR ยังทําหน้าที่เป็นกลไกเพื่อให้คําติชมจากกระบวนการตรวจสอบความถูกต้องของ Microsoft Learn และผู้ตรวจทาน PR เพื่อแก้ไขปัญหาหรือคําถามก่อนที่จะรวมการเปลี่ยนแปลงลงในสาขาเริ่มต้น

ระยะ ไกล

ระยะไกลคือการเชื่อมต่อไปยังที่เก็บระยะไกลที่ตั้งชื่อ เช่น "จุดเริ่มต้น" หรือ "อัพสตรีม" ระยะไกล Git อ้างอิงสิ่งนี้ว่าเป็นระยะไกลเนื่องจากใช้เพื่ออ้างอิงที่เก็บที่โฮสต์บนคอมพิวเตอร์เครื่องอื่น ในเวิร์กโฟลว์ Microsoft Learn ระยะไกลคือที่เก็บ GitHub เสมอ

อัพสตรีม

เช่นเดียวกับจุดเริ่มต้นระยะไกล อัพสตรีม คือการเชื่อมต่อไปยังที่เก็บอื่นที่ตั้งชื่อ ในเวิร์กโฟลว์ Microsoft Learn อัพสตรีมแสดงถึงการเชื่อมต่อระหว่างที่เก็บภายในเครื่องของคุณและที่เก็บหลักที่ใช้สร้างส้อมเอกสารของคุณ คํานี้บางครั้งใช้เป็นมอนิเกอร์แบบสําหรับที่เก็บอัพสตรีมของตัวเอง เช่นใน "จําเพื่อดึงการเปลี่ยนแปลงล่าสุดจากอัพสตรีม"

เรียนรู้เพิ่มเติม

ถ้าคุณไม่คุ้นเคยกับ Git หรือ GitHub ทรัพยากรเหล่านี้สามารถช่วยให้คุณเรียนรู้ มีประสิทธิภาพ หรือตอบคําถาม

ทรัพยากรตัวควบคุมแหล่งข้อมูล Git

ทรัพยากร GitHub

  • GitHub สวัสดี ทุกท่านแบบฝึกหัดการเริ่มต้นใช้งานด่วน: บทช่วยสอนออนไลน์ที่แสดงให้คุณทราบถึงพื้นฐานของ Git โดยใช้ GitHub
  • คำแนะนำ GitHub: บ้านของเอกสารประกอบ GitHub
  • ทรัพยากรการเรียนรู้ GitHub: ทรัพยากร GitHub ที่มีประโยชน์อื่นๆ
  • อภิธานศัพท์: อภิธานศัพท์ที่มีประโยชน์ของคําศัพท์ Git และ GitHub
  • ชุดนักพัฒนาซอฟต์แวร์สําหรับนักเรียน GitHub: การเข้าถึงเครื่องมือสําหรับนักพัฒนาซอฟต์แวร์ที่ดีที่สุดสําหรับนักเรียนฟรี

คำถามที่ถามบ่อย

กิตคืออะไร?

Git ช่วยติดตามการเปลี่ยนแปลงเมื่อมีคนจํานวนมากทํางานร่วมกันในรหัสคอมพิวเตอร์ มันเหมือนเครื่องเวลาสําหรับรหัส ดังนั้นคุณสามารถดูสิ่งที่เปลี่ยนแปลง และกลับไปถ้าจําเป็น

เหตุใดจึงใช้ Git

ซึ่งยอดเยี่ยมสําหรับการทํางานเป็นทีม Git ทําให้ง่ายสําหรับหลายคนที่จะทํางานในโครงการเดียวกันโดยไม่ยุ่งเหงางานของกันและกัน นอกจากนี้ยังช่วยแก้ไขข้อผิดพลาดได้อย่างง่ายดาย

Git ทํางานอย่างไร

Git จัดเก็บโค้ดของโครงการทุกเวอร์ชัน เมื่อคุณทําการเปลี่ยนแปลง Git จะถ่ายภาพ (เช่น สแนปช็อต) ว่าสิ่งที่แตกต่างกันอย่างไร คุณสามารถทําเวอร์ชันต่าง ๆ ได้ในเวลาเดียวกันโดยไม่มีปัญหา

สาขาใน Git คืออะไร

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

การยอมรับใน Git คืออะไร

การยอมรับจะเหมือนกับจุดบันทึก ซึ่งเป็นวิธีบันทึกการเปลี่ยนแปลงที่คุณทําไว้ แต่ละการยอมรับมี ID ที่ไม่ซ้ํากันและบันทึกย่อเกี่ยวกับสิ่งที่มีการเปลี่ยนแปลง

GitHub คืออะไร

GitHub คือ เว็บไซต์ที่คุณสามารถจัดเก็บโครงการ Git ของคุณ มันเหมือนเป็นฮับขนาดใหญ่สําหรับการแชร์และทํางานร่วมกันบนโค้ดกับผู้อื่น นอกจากนี้ยังช่วยในการติดตามว่าใครทําการเปลี่ยนแปลงอะไร

GitHub แตกต่างจาก Git อย่างไร?

Git เป็นเครื่องมือสําหรับการติดตามการเปลี่ยนแปลง ในขณะที่ GitHub เป็นที่สําหรับจัดเก็บโครงการของคุณและทํางานร่วมกัน GitHub ใช้ Git เพื่อทําเวทมนตร์

GitHub ฟรีหรือไม่

ใช่ สําหรับโครงการที่ทุกคนสามารถดูได้ แต่สําหรับโครงการส่วนตัว (เฉพาะคุณและทีมของคุณ) คุณอาจต้องชําระเงิน พวกเขาเสนอแผนที่แตกต่างกันด้วยคุณสมบัติพิเศษ

คําขอดึงข้อมูลใน GitHub คืออะไร

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

GitHub ปลอดภัยแค่ไหน?

GitHub ดูแลความปลอดภัยเป็นอย่างดี พวกเขาใช้รหัสและกฎพิเศษเพื่อให้แน่ใจว่าเฉพาะบุคคลที่เหมาะสมเท่านั้นที่สามารถเข้าถึงและเปลี่ยนรหัสของคุณ คุณยังสามารถเพิ่มเลเยอร์ความปลอดภัยเพิ่มเติม เช่น การรับรองความถูกต้องแบบสองปัจจัยเพื่อความปลอดภัยที่มากขึ้น