MSysGit กับ Git สำหรับ Windows


105

ฉันกำลังมีปัญหาในการกำหนดความแตกต่างระหว่าง msysgit และ Git สำหรับ Windows แตกต่างกันอย่างไร? ทำไมฉันถึงเลือกอย่างใดอย่างหนึ่ง


15
+1 นี่เป็นคำถามที่ยาก / เกี่ยวข้อง / สำคัญมากกว่าที่ปรากฏในตอนแรก

1
ดูความแตกต่างระหว่าง msysgit และ cygwin + git หรือไม่: stackoverflow.com/questions/3144082/…
VonC

คำตอบ:


79

พวกเขาไม่ใช่สิ่งเดียวกัน?

บน: http://msysgit.github.com/ชื่อคือ Git สำหรับ Windows แอปพลิเคชันคือ msysgit

แม้ว่าในกรณีที่ไม่เป็นเช่นนั้นฉันคาดหวังว่าความแตกต่างเพียงอย่างเดียวจะอยู่ในวิธีการคอมไพล์ (เช่นคอมไพเลอร์ที่ใช้และชุดตัวเลือกใด ๆ ) และบรรจุภัณฑ์ภายนอกใด ๆ (เช่นมี bash เลียนแบบเชลล์ใน msysgit) ผลิตภัณฑ์จริง (Git เอง) ควรมีความคล้ายคลึงกันในวงกว้าง


แก้ไข : ขอบคุณ Jarrod ที่ชี้ให้เห็นสิ่งนี้ ฉันทิ้งไว้ข้างบนเพื่อลูกหลาน ในการอ้างอิง wiki:

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

มันง่ายที่จะเห็นความแตกต่าง: ตัวติดตั้งสำหรับ Git มีคำนำหน้า Git- ตัวติดตั้ง msysGit มีคำนำหน้า msysGit- ปากโป้งอีกอย่างคือตัวติดตั้ง msysGit มีสองรสชาติ: fullinstall และ netinstall นอกจากนี้ msysGit ไม่ได้ติดตั้งลงใน C: \ Program Files ตามค่าเริ่มต้น แต่ msysGit มาพร้อมกับ gcc, GNU C Compiler

ดังนั้นความแตกต่างระหว่างสองโครงการ :

  • msysGitคือmsys+ mingwสภาพแวดล้อม + ทุกสิ่งที่จำเป็นในการคอมไพล์ Git ด้วยตัวคุณเองบน Windows
  • Git สำหรับ Windowsคือ Git ที่รวบรวมสำหรับ Windows

8
ฉันไม่คิดว่าพวกเขาเป็นสิ่งเดียวกัน หากคุณไปตามลิงก์ในลิงก์ที่คุณโพสต์คุณจะพบ "msysGit is not Git for Windows" ใน wiki
Jarrod

2
@ จาร์รอดฉันคิดว่าคุณถูกต้องและฉันได้อัปเดตคำตอบของฉันแล้ว

5
ขอแก้ตัวว่าไม่รู้ แต่ทำไมต้องคอมไพล์ ถ้าฉันแค่ต้องการใช้ git สำหรับ source control บน windows ฉันต้องใช้ msysGit หรือไม่
Jarrod

3
@Jarrod คำตอบสั้น ๆ สำหรับคำถามของคุณ: ไม่ได้รับ Git บน Windows

2
@Jarrod: คุณต้องการรวบรวมด้วยตัวเองหากคุณต้องการใช้ git เวอร์ชันล่าสุดเพื่อให้คุณได้รับคุณสมบัติใหม่ที่น่าตื่นเต้นโดยเร็วที่สุด! ฉันทำสิ่งนี้บน linux
Cascabel

16

(ตอนนี้) เหมือนกัน (ณ เดือนพฤษภาคม 2015 แต่น่าจะเร็วกว่านั้นเล็กน้อย):

"msysgit" และ "Git for Windows" ได้รวมเข้าด้วยกันภายใต้ชื่อ "Git for Windows" msysgit.github.ioตอนนี้โฮสต์ "Git for Windows" และไซต์ดาวน์โหลด git หลักgit-scm.comแสดงรายการmsysgit.github.ioเป็น build สำหรับ windows

จากวิกิที่อัปเดต:

... เราตัดสินใจที่จะยกเลิกชื่อ "msysGit" (เช่นเดียวกับ GitHub org ที่มีชื่อเดียวกัน) และทำงานบน Git สำหรับ Windows (ด้วย GitHub org ที่เกี่ยวข้องและใช้ชื่อ "Git for Windows" สำหรับ โปรแกรมติดตั้งมุ่งเป้าไปที่ "ผู้ใช้ปลายทาง" และ "Git for Windows SDK" สำหรับสภาพแวดล้อมการพัฒนาที่กำหนดเป้าหมาย Git สำหรับนักพัฒนา Windows)


พวกเขาจะเหมือนกันได้อย่างไรในเมื่อ git-for-windows เป็นทางแยกของ msysgit git-for-windows อยู่ในระหว่างการพัฒนาและ msysgit ไม่เป็นเช่นนั้นและ git-for-windows ใช้ Git 2.4?
BlackEye

1
@ตาสีดำ. ฟังดูเป็นประวัติศาสตร์ที่น่าสนใจ คำตอบของฉันเพียงแค่ชี้ให้เห็นว่าโครงการเหล่านี้ได้รวมเข้าด้วยกันแล้ว (ตามที่อธิบายไว้ในวิกิโครงการ) แม้จะมีประวัติ ดูเหมือนว่าสิ่งนี้จะเกี่ยวข้องกับหลาย ๆ คนที่พยายามแยกแยะว่าจะใช้อันไหนดี
Bryan P

4

นี่คือข้อความที่ตัดตอนมา 'README อย่างเป็นทางการ'

Git สำหรับ Windows (MSysGit) เวอร์ชัน "พกพา" ไม่จำเป็นต้องติดตั้ง มันจะทำงานจากไดเร็กทอรีใด ๆ ที่คุณวางไว้แม้กระทั่งไดรฟ์ USB Thumbdrive จะไม่เขียนรายการถาวรลงในรีจิสทรีของ Windows ไม่จำเป็นต้องมีสิทธิ์ของผู้ดูแลระบบในการ "ติดตั้ง" เวอร์ชันนี้ไม่มีรายการเมนูบริบทคลิกขวาที่สะดวก "Git GUI Here" และ "Git Bash Here" เนื่องจากจะต้องเพิ่มรายการลงในรีจิสทรีของ Windows


ฉันคิดว่านั่นใช้ได้กับทั้งคู่
BlackEye

4

Git สำหรับ Windowsใหม่กว่าmsysgit หากคุณต้องการใช้รุ่น Git 2.x คุณต้องดาวน์โหลดได้จากhttps://github.com/git-for-windows/git/releases https://github.com/msysgit/git/releasesใช้สำหรับ Git เวอร์ชัน 1.x.

รายละเอียดทางเทคนิคบางส่วนจากhttps://github.com/git-for-windows/git/wiki/FAQ

Git สำหรับ Windows ที่ใช้ในการได้รับการพัฒนาโดยใช้สภาพแวดล้อมการพัฒนาที่เรียกว่า "msysgit" แต่ประมาณประจวบกับ Git 2.1 msysgit ถูกแทนที่โดยการพัฒนาสภาพแวดล้อมใหม่ที่: Git สำหรับ Windows SDK


3

เนื่องจากหลาย ๆ คำตอบในกระทู้นี้เป็นข้อมูลเก่า

ณ พ.ย. 2558

msysGit -based Git สำหรับ Windows 1.x ถูกแทนที่ด้วย Git สำหรับ Windows 2.x

Git สำหรับ Windowsและgit-scmชี้ไปที่ตำแหน่งดาวน์โหลดเดียวกันสำหรับไบนารี

สถานที่ดาวน์โหลด:

https://github.com/git-for-windows/git/releases/download/v2.7.1.windows.2/Git-2.7.1.2-64-bit.exe


2

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


2

จากสิ่งที่ฉันเข้าใจGit บน Windowsคือโครงการที่ประกอบด้วยสัญลักษณ์สี่หัวข้อด้านล่าง

นำมาโดยตรงจากhttps://github.com/msysgit/msysgit/wiki :

Git บน Windows

เพื่อให้ 'ซุป' ตาร์ของชื่อโครงการชัดเจนขึ้นเราพูดแบบนี้:

  • msysGit - เป็นชื่อของโครงการนี้ซึ่งเป็นสภาพแวดล้อมการสร้างสำหรับ Git สำหรับ Windows ซึ่งเผยแพร่ไบนารีอย่างเป็นทางการ

  • MinGW - เป็นสภาพแวดล้อมการพัฒนาที่เรียบง่ายสำหรับแอปพลิเคชัน Microsoft Windows ดั้งเดิม

  • MSYS - เป็นระบบล่ามบรรทัดคำสั่ง Bourne Shell ซึ่งใช้โดย MinGW (และอื่น ๆ ) ถูกแยกจาก Cygwin ในอดีต

  • Cygwin - สภาพแวดล้อมที่เหมือน Linux ซึ่งเคยใช้ในอดีตเพื่อสร้าง Git สำหรับ Windows ปัจจุบันไม่มีความสัมพันธ์กับ msysGit


1
ไม่มีสัญลักษณ์แสดงหัวข้อย่อยขาดหายไป: "git for windows" หรือไม่ สิ่งที่ผู้ใช้ Windows GIT โดยเฉลี่ยติดตั้งเพื่อใช้ GIT github.com/msysgit/git
ทอม

1

นี่เป็นการเปรียบเทียบทั่วไปที่ชัดเจนยิ่งขึ้นจากเว็บไซต์https://github.com/msysgit/msysgit

Git for Windows is the software package that installs a minimal environment to run Git on Windows. It comes with a Bash (a Unix-type shell), with a Perl interpreter and with the Git executable and its dependencies.

On the other hand, msysGit is the software package installing the build environment that can build Git for Windows. The easiest way is to install it via the net installer.

1

Git สำหรับ Windowsอาจเป็นสิ่งที่คุณต้องการ ประกอบด้วยคุณสมบัติหลักดังต่อไปนี้:

Git BASH Git สำหรับ Windows มีการจำลอง BASH ที่ใช้ในการเรียกใช้ Git จากบรรทัดคำสั่ง * ผู้ใช้ NIX ควรรู้สึกเหมือนอยู่บ้านเนื่องจากการจำลอง BASH ทำงานเหมือนกับคำสั่ง "git" ในสภาพแวดล้อม LINUX และ UNIX

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

การรวมเชลล์เพียงคลิกขวาที่โฟลเดอร์ใน Windows Explorer เพื่อเข้าถึง BASH หรือ GUI ปลั๊กอิน Git-Cheetah ยังมีอินเทอร์เฟซแบบ TortoiseSVN ที่แสดงฟังก์ชัน Git โดยตรงบนเมนูบริบท

สิ่งต่อไปนี้มีให้ดาวน์โหลดแยกต่างหากจากหน้าเดียวกัน ...

msysGitเป็นสภาพแวดล้อมการสร้างที่มีเครื่องมือทั้งหมดที่จำเป็นสำหรับนักพัฒนาที่ต้องการมีส่วนร่วมโดยการเขียนโค้ดสำหรับ Git สำหรับ Windows


Git BASH มอบสภาพแวดล้อมที่คุ้นเคยสำหรับผู้เชี่ยวชาญด้าน Linux ที่จำเป็นต้องใช้เครื่อง Windows เป็นครั้งคราวแม้ว่าพวกเขาจะไม่ต้องการgitตัวเองก็ตาม มันเริ่มต้นด้วยทุบตีรวดเร็วและเพิ่มคอลเลกชันของโปรแกรมยูทิลิตี้หลักเช่นssh, find, grep, vi, และแน่นอนawkgit



ถึงตอนนี้คุณอาจสนใจWindows Subsystem for Linuxมากขึ้น
Brent Bradburn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.