ตัวเลือก“ ใช้ Git และเครื่องมือเสริม Unix จากพรอมต์คำสั่งของ Windows” เป็นอันตรายหรือไม่?


12

เมื่อติดตั้ง Git จะมีตัวเลือกให้เพิ่มเครื่องมือ msys * nix ทั้งหมดลงใน PATH ของคุณอย่างไรก็ตามจะเตือน:

คำเตือน: สิ่งนี้จะแทนที่เครื่องมือ Windows เช่น "find" และ "sort" ใช้ตัวเลือกนี้เฉพาะเมื่อคุณเข้าใจความหมาย

คำถามของฉันคือ:

  • เครื่องมือใดที่ขัดแย้งกับหรือไม่
  • มันสำคัญไหม พวกเขามักใช้ระบบ? (ฉันไม่เคยใช้มันเป็นการส่วนตัว)
  • ฉันสามารถเปลี่ยนลำดับของไดเรกทอรีใน PATH เพื่อป้องกันความขัดแย้งได้หรือไม่?
  • นี่คือตัวเลือกที่ 2 หรือไม่ ("ใช้ Git จากพรอมต์คำสั่งของ Windows - ตัวเลือกนี้ถือว่าปลอดภัยเนื่องจากจะเพิ่มตัวห่อ Git เพียงเล็กน้อยเท่านั้น")

คำตอบ:


5

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

ฉันทดลองกับการกำหนดค่าการติดตั้งที่หลากหลายในขณะที่ตัดสินใจว่าจะแนะนำทีมของฉันให้เปลี่ยนไปใช้คอมไพล์รวมถึงตัวเลือกเหล่านี้ได้อย่างไร นี่คือสิ่งที่ฉันสังเกตเห็นว่าการติดตั้งนั้นทำกับเส้นทางของฉันในฐานะ git สำหรับ Windows v2.19.1

สกรีนช็อตของตัวเลือกการติดตั้ง Git For Windows สำหรับการตั้งค่า PATH

ใช้ Git จาก Git Bash เท่านั้น

ตามที่ระบุไว้ไม่มีการแก้ไขใด ๆ กับพา ธ ของระบบของคุณ เข้าสู่ที่เรียบง่ายgit statusในคำสั่งของ Windows พรอมต์ที่ cmd.exe 'git' is not recognized as an internal or external command, operable program or batch fileจะล้มเหลวด้วย

ใช้ Git จากพรอมต์คำสั่งของ Windows

ฉันสามารถเปลี่ยนลำดับของไดเรกทอรีใน PATH เพื่อป้องกันความขัดแย้งได้หรือไม่?

นี่คือตัวเลือกที่ 2 หรือไม่ ("ใช้ Git จากพรอมต์คำสั่งของ Windows - ตัวเลือกนี้ถือว่าปลอดภัยเนื่องจากจะเพิ่มตัวห่อ Git เพียงเล็กน้อยเท่านั้น")

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

เมื่อมันบอกว่ามันจะเพิ่ม wraps Git "น้อยที่สุด" ใน PATH ของคุณสิ่งที่ดูเหมือนว่าจะทำจริง ๆ ก็คือเพิ่มcmdโฟลเดอร์ของการติดตั้ง (มา) ลงในพา ธ นี่คือตัวเลือกที่ฉันแนะนำให้กับทีมในที่สุด ตอนนี้เรามีC:\Program Files\Git\cmdเส้นทางของเรา

ในcmdไดเรกทอรีคืออะไร? สำหรับฉันมีเพียงหกไฟล์:

  • git.exe
  • Git-gui.exe
  • gitk.exe
  • Git-lfs.exe
  • เริ่มต้น SSH-agent.cmd
  • เริ่มต้น SSH-pageant.cmd

เช่นเดียวกับคำตอบของ Anaksunaman ฉันไม่แน่ใจว่าเมื่อไหร่จะไม่เพียงพอ คำสั่งปกติใด ๆ ที่เริ่มต้นด้วยgit <some command>จะทำงานได้จากการรวมของ git.exe

ใช้ Git และเครื่องมือเสริม Unix จากพรอมต์คำสั่งของ Windows

ซึ่งรวมถึงตัวเลือกที่สองของการเพิ่ม<Install dir>\Git\cmdไปยังเส้นทางและยังเพิ่ม<Install dir>\Git\mingw64\binและ<Install dir>\Git\usr\binไปยังเส้นทาง ไดเร็กทอรีทั้งสองมีจำนวนของไฟล์เรียกทำงานที่สำคัญรวมถึง find, sort และ kill ดังกล่าวในคำตอบอื่น ๆ

แทนที่จะแสดงสิ่งที่อาจเป็นสองร้อยรายการฉันขอแนะนำให้ผู้ใช้ที่เกี่ยวข้องเลือกตัวเลือกที่สองทำการติดตั้งให้เสร็จและไปดูไดเรกทอรีเหล่านั้น หากคุณพอใจกับความเสี่ยงการเพิ่ม<Install dir>\Git\mingw64\binและ<Install dir>\Git\usr\binเส้นทางของคุณเองก็เท่ากับการย้อนเวลากลับไปและเลือกตัวเลือกที่สาม


เนื่องจากสมมติฐานและบริบทเปลี่ยนไปในช่วงหลายปีที่ผ่านมาอาจเป็นประโยชน์ในการเริ่มต้นคำตอบใหม่สำหรับคำถามอายุสี่ขวบด้วย "นี่คือมุมมองใหม่จาก 2019 ... "
Christopher Hostage

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

7

เครื่องมือใดที่ขัดแย้งกับหรือไม่

โดยส่วนตัวฉันไม่แน่ใจในรายการทั้งหมด แต่คำถาม StackOverflow นี้บอกว่า

"ซึ่งรวมถึง find, kill และ sort [... ] ปัญหาของ 3 ตัวแรก (และที่คล้ายกัน) คือพวกมันมีอยู่ในทั้ง OS และฟังก์ชั่นที่แตกต่างกันในแต่ละอัน"

คุณอาจไม่ได้ใช้บ่อย แต่เป็นเรื่องปกติที่ Git รู้สึกว่าจำเป็นต้องเตือนคุณเกี่ยวกับพฤติกรรมที่ไม่คาดคิด

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

นี่คือตัวเลือกที่ 2 หรือไม่ ("ใช้ Git จากพรอมต์คำสั่งของ Windows - ตัวเลือกนี้ถือว่าปลอดภัยเนื่องจากจะเพิ่มตัวห่อ Git เพียงเล็กน้อยเท่านั้น")

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

หลังจากที่คุณติดตั้งคุณอาจต้องการดูอินเทอร์เฟซ git แบบกราฟิก (เช่นGitHub Dekstop สำหรับ WindowsหรือSourceTree ) และอย่าลืมว่า Git bash มาพร้อมกับการติดตั้งเช่นกัน


ที่จริงแล้วฉันต้องการใช้เครื่องมือบางอย่างจาก CMD และสงสัยว่าตัวเลือกที่ 2 ทำให้เครื่องมือยูนิกซ์ใช้ได้หรือ git เท่านั้น
Aleksandr Dubinsky

สำหรับความรู้ของฉันมันเป็นเพียงคอมไพล์
Anaksunaman

3

เครื่องมือใดที่ขัดแย้งกับหรือไม่

ฉันจะให้การติดตั้งแก้ไข PATH ของคุณ มันง่ายที่จะลบออกจาก PATH หากคุณไม่ต้องการ จากนั้นฉันจะดูไดเรกทอรีและทำการเปรียบเทียบบางอย่างเช่น diff, comm ฯลฯ เพื่อค้นหาความขัดแย้ง ควรมีการบันทึกไว้ที่ไหนสักแห่งแม้ว่าฉันจะไม่รู้ว่าอยู่ที่ไหน

มันสำคัญไหม พวกเขามักใช้ระบบ? (ฉันไม่เคยใช้มันเป็นการส่วนตัว)

ฉันไม่ได้ใช้เครื่องมือ cygwin เมื่อเร็ว ๆ นี้ แต่เมื่อฉันต้องใช้ Windows ฉันมักจะมีไดเรกทอรีเครื่องมือ cygwin เป็นครั้งแรกใน PATH ของฉันโดยไม่มีปัญหา

ความเสี่ยงที่ใหญ่ที่สุดคือถ้าโปรแกรมค้นหาเครื่องมือบรรทัดคำสั่งของ Windows ที่ขัดแย้งกันมันจะรันโปรแกรมที่ไม่ถูกต้อง ฉันคิดว่าโอกาสนี้น้อยมากเมื่อพิจารณาจากสคริปต์ cmd.exe ที่มีจำนวนน้อยมาก

ฉันสามารถเปลี่ยนลำดับของไดเรกทอรีใน PATH เพื่อป้องกันความขัดแย้งได้หรือไม่?

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

นี่คือตัวเลือกที่ 2 หรือไม่ ("ใช้ Git จากพรอมต์คำสั่งของ Windows - ตัวเลือกนี้ถือว่าปลอดภัยเนื่องจากจะเพิ่มตัวห่อ Git เพียงเล็กน้อยเท่านั้น")

ดูเหมือนว่าจะเป็นการแทรกไดเรกทอรีของ PATH ที่มีเพียงคำสั่ง git ที่คุณต้องใช้ git


ที่จริงแล้วคอมไพล์ใช้ MSYS แทน Cygwin ความแตกต่างคือ msys เป็น win32 ดั้งเดิมในขณะที่ cygwin ใช้ไลบรารีการจำลองเพื่อปรับรหัส posix
Aleksandr Dubinsky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.