วิธีเปิด Git Bash จาก DOS Command Line


106

ฉันมีสิ่งที่หวังไว้เป็นคำถามง่ายๆ แต่ฉันยังไม่สามารถหาคำตอบได้ ฉันต้องการเปิด Git Bash จากไฟล์แบตช์ DOS นี่คือสิ่งที่ฉันพยายามจนถึงตอนนี้:

  1. เปิดตัว Git Bash จากปุ่ม Win 7 Start
  2. ใช้ CTRL + ALT + DEL เพื่อระบุกระบวนการเป็น "sh.exe"
  3. เรียกใช้ sh.exe จากไฟล์แบตช์โดยใช้คำสั่ง start

    start sh.exe
    

อย่างไรก็ตามสิ่งนี้ไม่ได้เปิดใช้งานสภาพแวดล้อม Git Bash แบบเต็ม Git Bash มักจะมี "MINGW32" ในแถบชื่อ แต่ sh.exe มีเส้นทางแบบเต็มไป Git\bin\sh.exe... สำหรับฉันรู้สึกเหมือนมีการซ้อนทับหรือการอ้างอิงบางอย่างที่ฉันไม่ทราบว่าอาจจะต้องโหลดด้วย (ดึงเข้า? นำเข้า?)

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

เรียกใช้ git จาก Windows Cmd line: ไฟล์คีย์อยู่ที่ไหน

ฉันเป็นมือใหม่ในโลกของการเขียนสคริปต์ชุด DOS


1
จริงๆแล้วมันไม่ใช่บรรทัดคำสั่ง DOS เว้นแต่: (a) คุณพบความผิดปกติบางอย่างและกำลังใช้ Windows 9x / ME ซึ่งcommand.comเป็นเชลล์เดียวที่รวมอยู่ในระบบปฏิบัติการ (b) คุณอยู่ใน 32- ระบบ bit NT และเรียกใช้command.comตัวเองหรือโปรแกรมเก่าทำเพื่อคุณ ดูอะไรคือความแตกต่างระหว่าง CMD และ Command prompt ใน windows? สำหรับข้อมูลเพิ่มเติม
SamB

คำตอบ:


126

หากคุณต้องการเปิดจากไฟล์แบตช์:

  • สำหรับ x86

    start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
    
  • สำหรับ x64

    start "" "%PROGRAMFILES%\Git\bin\sh.exe" --login
    

ขอบคุณ @Endoro! แม้ว่าคำตอบของ @Klas Mellbourn จะถูกต้องสำหรับ Powershell แต่ของคุณถูกต้องมากกว่าเนื่องจากฉันกำลังเรียกใช้จากไฟล์แบตช์ DOS การเพิ่มคำสั่ง "start" ทำให้โปรแกรมทำงานแบบอะซิงโครนัสซึ่งเป็นสิ่งที่ฉันต้องการจริงๆ! ยกนิ้วให้!
Eric Hepperle - CodeSlayer2010

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

1
@OviC คุณแน่ใจหรือไม่ว่าการแก้ไขของคุณถูกต้อง? "Program Files (x86)" มีอยู่ภายใต้สถาปัตยกรรม x64 สำหรับโปรแกรม 32 บิตเท่านั้น
Drunix

@Drunix คุณพูดถูกไม่มีเส้นทาง "Program Files (x86) \" ในระบบ x86 ฉันย้อนกลับ ขอบคุณ.
Endoro

จะเกิดอะไรขึ้นถ้าไม่ได้ติดตั้งบนไดรฟ์ระบบ? จะเกิดอะไรขึ้นหากไม่ได้ติดตั้งในไฟล์โปรแกรม?
Michael Kruglos

44

ฉันไม่แน่ใจว่าคุณหมายถึง "สภาพแวดล้อม Git Bash เต็มรูปแบบ" แต่ฉันจะได้รับคำเตือนที่ดีถ้าฉันทำ

"C:\Program Files\Git\bin\sh.exe" --login

ใน PowerShell

& 'C:\Program Files\Git\bin\sh.exe' --login

--loginสวิทช์ทำให้เปลือกรันเปลือกเข้าสู่ระบบแฟ้มเริ่มต้น


ขอบคุณ @Klas Mellbourn คำตอบของคุณดีสำหรับ Powershell แต่หากไม่มีการเพิ่มคำสั่ง "start" เหมือนในคำตอบของ Endoro ระบบจะหยุดการทำงานของโปรแกรมถัดไปจนกว่าเชลล์จะออกซึ่งไม่ใช่พฤติกรรมที่ต้องการมิฉะนั้นฉันจะโหวตให้คุณ
Eric Hepperle - CodeSlayer2010

ฉันใช้ Console2 กับหน้าต่างcmdและทำให้เกิดพฤติกรรมแปลก ๆ ฉันใส่สิ่งนี้ไว้ในไฟล์. bat และตอนนี้ทุกอย่าง@"%SYSTEMDRIVE%\Program Files\Git\bin\bash.exe" --login
เรียบร้อย

25

ฉันชอบใช้ git-bash.exe แทน sh.exe

start "" "%ProgramFiles%\Git\git-bash.exe" -c "tail -f /c/Windows/win.ini"

คุณสามารถหยุดปิดหน้าต่างได้เมื่อมีสายเรียก/usr/bin/bash --login -iเข้า

start "" "%ProgramFiles%\Git\git-bash.exe" -c "echo 1 && echo 2 && /usr/bin/bash --login -i"

หมายเหตุ: ฉันไม่แน่ใจว่านี่เป็นวิธีที่ดี :)


4
คำตอบที่ดี แต่หน้าต่าง git-bash จะปิดลงทันที คุณรู้วิธีปิดใช้งานการปิดอัตโนมัติหลังจากที่คำสั่งเสร็จสิ้นการดำเนินการหรือไม่?
มาร์ค

@ มาร์คขอบคุณมาร์ค ฉันได้เพิ่มตัวอย่างในคำตอบของฉันด้านบน น่าเสียดายที่ฉันไม่แน่ใจว่าเราควรทำอย่างไรให้ถูกวิธีเพราะฉันไม่ใช่คนชอบใช้ windows :)
kujiy

1
[code] start "" "% ProgramFiles% \ Git \ git-bash.exe" [/ code] ใช้งานได้ดี!
PauAI

@ PauAI 2018 ตอนนี้ ... ฉันลองstart "" "%ProgramFiles%\Git\git-bash.exe"จากบรรทัดคำสั่งของผู้ดูแลระบบและแม้ว่ามันจะแสดง Git Bash ในหน้าต่างใหม่ แต่การพิมพ์คำสั่งง่ายๆเช่นlsผลลัพธ์ไม่มีผลลัพธ์ วิธีนี้ดูเหมือนจะไม่อนุญาตให้เรียกใช้คำสั่ง linux ... แก้ไข: ใช้งานได้ใช้เวลานาน (2 นาที) ในการเรียกใช้ ls จากนั้นวิ่งอีกครั้งในเวลาน้อยกว่า 1 วินาที ... แปลก.
Eric Hepperle - CodeSlayer2010

8

ฉันชอบใส่คอมไพล์ในตัวแปรสภาพแวดล้อมแล้วโทร

c:\Users\[myname]>sh
or 
c:\Users\[myname]>bash

ขั้นตอนในการสร้างตัวแปรสภาพแวดล้อม (Win7)

  • จากเดสก์ท็อปคลิกขวาที่ไอคอนคอมพิวเตอร์
  • เลือกคุณสมบัติจากเมนูบริบท
  • คลิกลิงก์การตั้งค่าระบบขั้นสูง
  • คลิกตัวแปรสภาพแวดล้อม
  • ในส่วนตัวแปรผู้ใช้ให้กดปุ่มใหม่ใส่ชื่อตัวแปรเป็น GIT_HOMEค่าเป็น (โฟลเดอร์ที่คุณติดตั้ง git)

    • สำหรับฉันc:\tools\gitแล้วคนอื่นอาจจะมีC:\Program Files\Git
  • ค้นหาไฟล์ PATHตัวแปรสภาพแวดล้อมและเลือก คลิกแก้ไข (หากไม่มีตัวแปรสภาพแวดล้อม PATH ให้คลิกใหม่)

  • ในหน้าต่างแก้ไขให้เพิ่มค่าใหม่ %GIT_HOME%%GIT_HOME%\binและ คลิกตกลง ปิดหน้าต่างที่เหลือทั้งหมดโดยคลิกตกลง
  • [ตรวจสอบให้แน่ใจว่าคุณปิด CMD ที่คุณต้องการใช้สำหรับคอมไพล์]
  • เปิดพรอมต์คำสั่งใหม่แล้วพิมพ์shหรือbashหรือgit-bash

2
ขอบคุณ! ฉันสามารถทำให้สิ่งนี้ใช้ได้กับ GIT_HOME as C:\Program Files\Gitและพิมพ์git-bashจาก CMD นอกจากนี้แปลกแม้ว่าคุณจะต้องพิมพ์ PATH เพื่อดูเนื้อหาเท่านั้นหากต้องการดูเนื้อหาของตัวแปร git ที่กำหนดเองนี้คุณต้องพิมพ์echo %GIT_HOME%
Eric Hepperle - CodeSlayer2010

ขอบคุณนี่เป็นส่วนเสริมที่ยอดเยี่ยม ในการเพิ่มสิ่งนี้เมื่อคุณมีGIT_HOMEตัวแปรและคุณใช้git-bashคำสั่ง (หรือgit-cmd) มันจะเปิดขึ้นในหน้าต่างใหม่ หากคุณเพิ่มตัวแปรสภาพแวดล้อม "PATH" ตัวแปรสภาพแวดล้อมจะเปลี่ยนไปในหน้าต่างที่มีอยู่นั้น คุณยังสามารถพิมพ์exit"ออกจากระบบ" ของ git bash และยังคงพรอมต์ DOS ไว้
Keith E. Truesdell


3

https://stackoverflow.com/a/33368029/15789

ฉันได้โพสต์คำตอบไว้ที่นี่

เปิดหน้าต่างคำสั่งของ Windows และเรียกใช้สคริปต์นี้ หากมีการเปลี่ยนแปลงในไดเร็กทอรีการทำงานของคุณมันจะเปิด bash terminal ในไดเร็กทอรีการทำงานของคุณและแสดงสถานะ git ปัจจุบัน มันทำให้หน้าต่างทุบตีเปิดอยู่โดยเรียก exec bash

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


3

ฉันใช้ข้อมูลด้านบนเพื่อช่วยสร้างโซลูชันที่ถาวรยิ่งขึ้น ต่อไปนี้จะสร้างนามแฝง sh ที่คุณสามารถใช้เพื่อเปิด Git Bash:

echo @start "" "%PROGRAMFILES%\Git\bin\sh.exe" --login > %systemroot%\sh.bat

ขอบคุณ dpate! ฉันวางคำสั่ง echo ของคุณลงในบรรทัดคำสั่งแล้วรันshและหน้าต่าง git-bash ก็เปิดขึ้นและฉันก็สามารถรันคำสั่งได้อย่างสมบูรณ์แบบ สามารถเพิ่มรายละเอียดเล็กน้อยในคำตอบของคุณเพื่ออธิบายวิธีการทำงานนี้ได้หรือไม่? ฉันอยากจะเรียนรู้วิธีการตกปลามากกว่าที่จะมีคนให้ปลาฉันคิดว่ามันจะเป็นประโยชน์ต่อผู้อื่นที่กำลังมองหาคำตอบที่ดี ขอบคุณ
Eric Hepperle - CodeSlayer2010

0

คำตอบของ Endoro มีอายุมากแล้วและฉันไม่สามารถแสดงความคิดเห็นได้

# if you want to launch from a batch file or the command line:

start "" "%ProgramFiles%\Git\bin\sh.exe" --login

0

คุณสามารถเพิ่มเส้นทาง git ให้กับตัวแปรสภาพแวดล้อม

  • สำหรับ x86

%SYSTEMDRIVE%\Program Files (x86)\Git\bin\

  • สำหรับ x64

%PROGRAMFILES%\Git\bin\

เปิด cmd และเขียนคำสั่งนี้เพื่อเปิด git bash

sh --login

คุณสามารถดูภาพ GIF นี้เพื่อดูรายละเอียดเพิ่มเติม:

https://media1.giphy.com/media/WSxbZkPFY490wk3abN/giphy.gif

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