Git vs Github - ทำให้เข้าใจถึงความแตกต่าง



บล็อกนี้เกี่ยวกับ Git vs GitHub พูดถึงความแตกต่างพื้นฐานระหว่าง VCS, Git ที่ได้รับความนิยมสูงสุดและไซต์โฮสติ้ง GitHub

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

ต่อไปนี้เป็นหัวข้อที่ฉันจะพูดถึงในบล็อก Git Vs GitHub:





อะไรคือความแตกต่างระหว่าง git และ github

การควบคุมเวอร์ชัน - Git vs GitHub

เพื่อให้เข้าใจถึงความแตกต่างที่แน่นอนระหว่าง git และ GitHub คุณต้องรู้เกี่ยวกับการควบคุมเวอร์ชันก่อน แล้วคุณเข้าใจอะไรจากคำว่า version control?

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



ระบบที่ควบคุมการกำหนดเวอร์ชันของโค้ดนี้เรียกว่า Version Control System (VCS) เพื่อให้ได้ภาพที่ดีขึ้นคุณสามารถคิดว่าเป็น 'ฐานข้อมูล' ภายในฐานข้อมูลนี้ VCS จะเก็บสแนปชอตของโครงการทั้งหมดของคุณและจัดเก็บเป็นเวอร์ชัน ตอนนี้ด้วยความช่วยเหลือของสแนปชอตเหล่านี้คุณสามารถเปรียบเทียบเวอร์ชันและสลับไปมาได้อย่างง่ายดายตามความต้องการ ตรวจสอบภาพด้านล่างซึ่งแสดงกระบวนการทั้งหมด:

VCS - Git กับ GitHub - Edureka



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

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

ตอนนี้เรามาดูบล็อกนี้กันต่อใน Git vs GitHub และทำความเข้าใจว่า Git คืออะไรกันแน่

Git คืออะไร? - Git กับ GitHub

เมื่อคุณรู้เกี่ยวกับการควบคุมเวอร์ชันแล้วคุณจะเข้าใจเกี่ยวกับ Git ได้ง่ายมาก Git คืออะไร?

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

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

c ++ goto คำสั่ง

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

วิธีสร้าง jframe

ในตลาดปัจจุบัน Git เป็น VCS สมัยใหม่ที่นิยมใช้กันมากที่สุด ค่อนข้างครบกำหนดและเป็นโครงการโอเพ่นซอร์สที่ได้รับการดูแลอย่างดี ได้รับการพัฒนาในปี 2548 โดย Linus Torvalds ซึ่งเป็นผู้สร้างเคอร์เนล Linux OS หากคุณตรวจสอบภาพแนวโน้มของ Google ด้านบนคุณจะพบว่า Git เติบโตอย่างต่อเนื่องในตลาดตั้งแต่ปี 2548 โครงการซอฟต์แวร์จำนวนมากรวมถึงเชิงพาณิชย์และโอเพนซอร์สล้วนพึ่งพา Git ในการควบคุมเวอร์ชัน . ดังนั้น Git แตกต่างจากส่วนที่เหลือที่ทำให้เป็นที่นิยมอย่างไร?

ความแตกต่างที่สำคัญระหว่าง Git กับ VCS อื่น ๆ เช่น Subversion (SVN), Mercurial, TFS, Perforce, Bazaar เป็นต้นคือวิธีที่ Git จัดเก็บข้อมูล ในระบบอื่นข้อมูลจะถูกจัดเก็บเป็นรายการของการเปลี่ยนแปลงตามไฟล์ซึ่งเรียกอีกอย่างว่า ตามเดลต้า การควบคุมเวอร์ชัน แต่ในกรณีของ Git จะจัดเก็บข้อมูลในรูปแบบของสแนปช็อตของระบบไฟล์ขนาดเล็ก เมื่อใช้ Git เมื่อใดก็ตามที่คุณคอมมิตหรือบันทึกสถานะของโปรเจ็กต์ของคุณสแนปชอตจะถูกนำมาจากสถานะไฟล์ปัจจุบันและข้อมูลอ้างอิงจะถูกเก็บไว้ หากไม่มีการเปลี่ยนแปลงหรืออัปเดตใด ๆ Git จะจัดเก็บลิงก์ไปยังไฟล์ก่อนหน้าซึ่งได้จัดเก็บไว้แล้ว แผนภาพต่อไปนี้แสดงให้เห็นว่า Git จัดเก็บเวอร์ชันต่างๆอย่างไร:

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

คุณจะดีใจที่ได้ทราบว่านี่คือสิ่งที่ GitHub ทำและในส่วนถัดไปของบล็อกนี้เกี่ยวกับ Git vs GitHub ฉันจะอธิบายทั้งหมดเกี่ยวกับเรื่องนี้

GitHub คืออะไร? - Git กับ GitHub

อย่างที่บอก Git เป็นระบบควบคุมเวอร์ชันที่ติดตามการเปลี่ยนแปลงเมื่อทำงานกับรหัสคอมพิวเตอร์ในขณะที่ GitHub เป็นบริการโฮสต์พื้นที่เก็บข้อมูลควบคุมเวอร์ชัน Git บนเว็บ มันมีฟังก์ชันการควบคุมเวอร์ชันแบบกระจายและการจัดการซอร์สโค้ด (SCM) ทั้งหมดของ Git ในขณะที่เสริมด้วยคุณสมบัติบางอย่างของตัวเอง มันเป็นสวรรค์สำหรับ นักพัฒนาที่สามารถจัดเก็บโปรเจ็กต์และเชื่อมต่อกับคนที่มีใจเดียวกัน คุณสามารถคิดว่ามันเป็น 'คลาวด์สำหรับโค้ด'

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

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

  1. ส้อม: หรือที่เรียกกันโดยทั่วไปว่า forking คือการคัดลอกที่เก็บจากบัญชีของผู้ใช้รายหนึ่งเมื่อคุณไม่มีสิทธิ์เขียน ดังนั้นคุณสามารถคัดลอกและแก้ไขภายใต้บัญชีของคุณเองได้
  2. ดึง: เมื่อคุณได้ทำการเปลี่ยนแปลงรหัสที่คุณคัดลอกและต้องการแบ่งปันกับลำดับเดิม จากนั้นคุณสามารถส่งการแจ้งเตือนที่เรียกว่า 'คำขอดึง' ไปยังพวกเขาได้
  3. ไป: ตอนนี้ผู้ใช้ที่เป็นเจ้าของรหัสเหล่านั้นหากพบว่าการเปลี่ยนแปลงของคุณเกี่ยวข้องสามารถผสานการเปลี่ยนแปลงที่พบใน repo ของคุณเข้ากับ repo เดิมได้โดยเพียงแค่คลิกปุ่ม

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

Git กับ GitHub

1. เป็นซอฟต์แวร์1. เป็นบริการ
2. ติดตั้งภายในระบบ2. โฮสต์บนเว็บ
3. เป็นเครื่องมือบรรทัดคำสั่ง3. มีอินเทอร์เฟซแบบกราฟิก
4. เป็นเครื่องมือในการจัดการการแก้ไขเวอร์ชันต่างๆซึ่งทำกับไฟล์ในที่เก็บ git4. เป็นพื้นที่สำหรับอัปโหลดสำเนาของไฟล์ ไป ที่เก็บ
5. มีฟังก์ชันต่างๆเช่นการจัดการรหัสที่มาของระบบควบคุมเวอร์ชัน5. มีฟังก์ชันของ Git เช่น VCS การจัดการซอร์สโค้ดรวมถึงการเพิ่มคุณสมบัติบางอย่างของตัวเอง
สรุปบล็อกนี้เกี่ยวกับ Git vs GitHub หวังว่าคุณจะสนุกกับการอ่านบล็อกนี้และเรียนรู้สิ่งใหม่ ๆ หากคุณพบ Git vs GitHub นี้ บล็อกที่เกี่ยวข้อง ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรม Edureka DevOps Certification ช่วยให้ผู้เรียนมีความเชี่ยวชาญในกระบวนการและเครื่องมือ DevOps ต่างๆเช่น Puppet, Jenkins, Nagios และ GIT สำหรับการทำหลายขั้นตอนใน SDLC โดยอัตโนมัติ มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นแล้วเราจะติดต่อกลับไป