จะอัปเกรดเป็น Git เวอร์ชันล่าสุดบน Windows ได้อย่างไร ยังคงแสดงเวอร์ชันที่เก่ากว่า


375

ฉันเพิ่งอัพเกรดเป็น Git 1.8.0.1 สำหรับ Windows จากรุ่นก่อนหน้า 1.7.9.mysysgit.0 ของฉัน ฉันดาวน์โหลดเวอร์ชันใหม่จากไซต์ Gitและติดตั้งผ่านตัวติดตั้ง Git EXE ปกติ

ที่กล่าวว่าเมื่อฉันไฟหน้าต่างเทอร์มินัลของฉันก็ยังคงแสดงให้เห็นว่าฉันกำลังใช้งานคอมไพล์รุ่น 1.7.9.mysysgit.0 เมื่อฉันพิมพ์ "git --version" จากพรอมต์ของฉันสิ่งเดียวกัน

ฉันพบบทความนี้ในปัญหาที่คล้ายกันกับ Git บน Mac OSXซึ่งทำให้ฉันเชื่อว่ามีบางอย่างเกี่ยวกับ PATH ที่ผิดพลาด แต่ฉันก็ยังค่อนข้างใหม่อยู่ตลอดเวลา (5 เดือนที่เรียนรู้ด้วยตนเอง) ดังนั้นฉันจึง มีปัญหาในการแปลสิ่งนี้เป็น Windows

ปัญหานี้เกิดขึ้นเมื่อฉันเริ่มโครงการ Rails ใหม่และพยายามผลักดันให้ถึง Git ฉันเพิ่มรีโมต:

git remote add origin git@github.com:brianscottk/blog.git

แล้ว:

git push -u origin master

ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:

ร้ายแรง: https://github.comไม่พบการอ้างอิง: คุณรัน git update-server-info บนเซิร์ฟเวอร์หรือไม่

Googling ข้อผิดพลาดทำให้ฉันไปที่บทความนี้ซึ่งกระตุ้นให้ฉันอัพเกรดและที่นี่ฉันเป็น

คำตอบ:


722

ตั้งแต่ Git 2.16.1 (2) คุณสามารถใช้

C:\> git update-git-for-windows

ในเวอร์ชันระหว่าง 2.14.2 และ 2.16.1 คำสั่งคือ

C:\> git update

(ต่อมาถูกเปลี่ยนชื่อเพื่อหลีกเลี่ยงความสับสนในการอัพเดทที่เก็บข้อมูลในเครื่องเช่นsvn updateทำการแก้ไข)

คำสั่งนั้นไม่มีอยู่ใน Git 2.13 และก่อนหน้านี้

หากข้อผิดพลาดของ "ไม่ใช่คำสั่ง git" แสดงว่าคุณไม่มี Git สำหรับ Windows หรือรุ่นของคุณเก่ามาก

ในกรณีนี้ให้รับตัวติดตั้งล่าสุดจากhttps://git-scm.com/download (ตรวจสอบว่าคุณต้องการ 32- หรือ 64- บิต) แล้วรันเพื่ออัปเกรด

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

C:\> git update-git-for-windows
Git for Windows 2.17.0.windows.1 (64bit)
Up to date

60
ฉันไม่รู้ว่าเพราะเหตุใด downvote นี้จึงเป็นคำตอบที่ถูกต้องสำหรับวิธีอัปเดต Git บน Windows
OrangeDog

3
> git update ในเวอร์ชั่น 2.14 ไม่ได้ผลสำหรับฉัน (บน windows) ฉันใช้ตัวติดตั้งที่ดาวน์โหลดมาจากเว็บไซต์และทุกอย่างก็ราบรื่น (ตอนนี้ในวันที่ 2.17.1)
gianni

2
ทำงานเหมือนจับใจขอบคุณ ควรมั่นเหมาะไม่ถูก downvoted
rsenna

3
ฉันคิดว่ามันกำลังถูกลดระดับลงเนื่องจากเวอร์ชันที่คำสั่งเหล่านี้ทำงานเฉพาะเจาะจงมากกว่าที่ระบุไว้ในตอนแรก git updateไม่ทำงานจนกระทั่ง 2.14.2 ซึ่งหมายความว่าสำหรับคนอย่าง @defines ด้านบนคำตอบนี้ดูผิด
rickibarnes

3
ฉันคิดว่าฉันต้องถอนการติดตั้งของฉันGit สำหรับ Windowsและติดตั้งรุ่นใหม่ล่าสุดเพราะรุ่นผมใช้เป็นรุ่นคอมไพล์ 2.14.1.windows.1
KaiserKatze

85

ก่อนอื่นตรวจสอบเวอร์ชั่นคอมไพล์โดยใช้คำสั่งนี้

git version

จากนั้นทำตามกรณีตามรุ่น git ของคุณ

สามกรณี:

  1. หากเวอร์ชัน git ของคุณคือ 2.14.1 หรือเร็วกว่า:

    ถอนการติดตั้ง git ดาวน์โหลดgitล่าสุดและติดตั้งอีกครั้ง

  2. และรุ่นระหว่าง 2.14.2 และ 2.16.1:

    ใช้คำสั่ง git update

  3. หากรุ่นเท่ากับหรือมากกว่า Git 2.16.1 (2):

    ใช้คำสั่ง git update-git-for-windows


4
ฉันกำลังคลั่งไคล้กับgit updateข้อผิดพลาดในรุ่น 2.14.1 ดังนั้นคำตอบนี้เป็นคำตอบที่ถูกต้องเนื่องจากมันอยู่ที่คำสั่ง inexistente ก่อน 2.14.2
Erick Petrucelli

34

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


9
ไม่ใช่ตัวติดตั้งที่ "ดูแลทุกอย่าง" แต่เขียนทับการติดตั้งก่อนหน้า ดังนั้นหากมีการตั้งค่าแบบกำหนดเองจะมีการเขียนทับ!
Celdor

4
มีวิธีอัปเกรดและเก็บการตั้งค่าปัจจุบันของฉันหรือไม่? เมื่อฉันเรียกใช้ตัวติดตั้ง windows เพื่อทำการอัพเกรดมันจะถามคำถามที่ซับซ้อนเหมือนกันทั้งหมดที่ถามเมื่อฉันติดตั้งครั้งแรก สิ่งที่ฉันต้องการคือเพียงแค่รับรุ่นใหม่และ
Andy

@Andy ฉันไม่แน่ใจว่าจะครอบคลุมทุกการตั้งค่าหรือไม่ แต่ฉันจะใช้คำสั่ง git-config ก่อนทำการอัปเกรดเก็บค่าของคุณในสคริปต์อัปเกรดด้วยการตั้งค่าเริ่มต้นจากนั้นใช้สคริปต์เพื่อกำหนดการตั้งค่าของคุณเอง การอ้างอิง: git-scm.com/docs/git-config
David

3
โปรแกรมติดตั้งไม่ได้เขียนทับการตั้งค่าใด ๆ และการตั้งค่าทั้งหมดที่คุณสามารถเลือกในการติดตั้งเริ่มต้นเป็นค่าปัจจุบัน
OrangeDog

17

การใช้คำสั่ง "where git" ค้นหาว่า command prompt เลือกเวอร์ชันอย่างไร เมื่อคุณมีเส้นทางแล้วคุณสามารถไปข้างหน้าและถอนการติดตั้ง / ลบเวอร์ชันก่อนหน้าโดยสมบูรณ์ จากนั้นถ้าคุณติดตั้งและตรวจสอบให้แน่ใจว่าตำแหน่งที่ติดตั้งใหม่นั้นอยู่ในพา ธ มันควรจะทำงานได้ดี

การใช้เครื่องมือที่เป็นมิตรกับคอมไพล์เช่นcmderจะทำให้ชีวิตของคุณง่ายขึ้นมาก คุณไม่จำเป็นต้องใช้ดูอัลบูทหรือ cygwin อีกต่อไปเพราะการสนับสนุน git ใน windows นั้นเป็นสิ่งที่สำคัญที่สุดแล้ว (Git สำหรับ windows ติดตั้ง msysgit ซึ่งรวมถึงเครื่องมือ unix ที่จำเป็นทั้งหมดจาก MinGW MinGW อยู่ที่นั่นมาระยะหนึ่งแล้วและค่อนข้างเสถียรถ้าคุณต้องการคุณสามารถติดตั้ง msysgit เวอร์ชันเต็มแทนที่จะใช้Git สำหรับ Windows msysgit นั้นมีอยู่ใน Git สำหรับ หน้า windows ที่ด้านล่าง)


2
เพิ่งรู้ว่าฉันตอบคำถามเก่า แต่อาจจะมีประโยชน์สำหรับคนอื่น ๆ ที่จะมาถึงหน้านี้ ...
Rajan Ponnappan

2
ลิงก์ไปยัง cmder ใช้งานไม่ได้ :(
FirefoxMetzger

ดูเหมือนว่าลิงก์ cmder จะทำงานอีกครั้ง
Rajan Ponnappan


11

Git Bash

หมายเหตุถ้าคุณกำลังมองหาแทนเพื่อหาสิ่งที่รุ่นของGit Bashคุณกำลังทำงานหรือต้องการที่จะเห็นถ้าคุณจำเป็นต้องปรับปรุงก็เป็นส่วนหนึ่งของ Git BashGit for Windows

ดังนั้นเวอร์ชัน Git Bash ของคุณคือ:

git --version

git เวอร์ชั่น 2.23.0.windows.1

Bashหมายเหตุว่ามันเป็นเทคนิคที่แตกต่างจาก ในเครื่องเดียวกันเมื่อฉันเรียกใช้:

echo $BASH_VERSION

4.4.23 (1) -release

Git สำหรับตัวติดตั้ง Windows

หากต้องการอัปเดตเป็น Git และ Git Bash เวอร์ชันล่าสุดคุณสามารถดาวน์โหลดและติดตั้งgit สำหรับ Windowsรุ่นล่าสุดได้ ตามคำถามที่พบบ่อยการตั้งค่า / การปรับแต่งควรถูกสงวนไว้หากมีการติดตั้งในโฟลเดอร์การกำหนดค่าที่เหมาะสม

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

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

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

git update-git-for-windows

หรืออย่างที่คนอื่น ๆ ได้จดบันทึกไว้คุณสามารถอัปเดต Git Bash และ Git (ตามคำนิยามซึ่งทั้งสองอัปเดตพร้อมกันเสมอ) จากบรรทัดคำสั่ง Git Bash ผ่าน:

git update-git-for-windows  

หากคุณพิมพ์git updategit กรุณาเตือนคุณว่าคำสั่งนั้นได้รับการอัพเดตเป็นgit update-git-for-windows:

คำเตือน! git updateเลิกใช้แล้ว
กรุณาใช้git update-git-for-windowsแทน
Git สำหรับ Windows 2.26.0.windows.1 (64 บิต)
เป็นรุ่นล่าสุด


6

จากการตอบกลับล่าสุดจาก @Simon ฉันได้ถอนการติดตั้ง Git เวอร์ชันใหม่เป็นครั้งแรก จากนั้นผมก็อีกครั้งที่ติดตั้งรุ่นใหม่ของ Git ลงในไดเรกทอรีเช่นเดียวกับรุ่นเก่า , แทนไดเรกทอรีเริ่มต้นC:/RailsInstaller/GitC:/Git

ตอนนี้หน้าต่างเทอร์มินัลรางของฉันแสดงว่าฉันกำลังใช้งานคอมไพล์รุ่น 1.8.0 ใหม่


2

หากต้องการตรวจสอบPATHตัวแปรของคุณให้ทำดังนี้:

  1. จากเดสก์ทอปคลิกขวาที่ My Computer และคลิก Properties
  2. คลิกลิงก์การตั้งค่าระบบขั้นสูงในคอลัมน์ด้านซ้าย
  3. ในหน้าต่างคุณสมบัติระบบคลิกปุ่มตัวแปรสภาพแวดล้อม

เลื่อนไปเพื่อรับPathแถวคุณจะได้รับเส้นทางยาว ๆ (เช่นC:\windows\bin;C:\program files\gitฯลฯ )

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

หวังว่าจะช่วยได้!


ขอบคุณสำหรับความช่วยเหลือ @Simon แต่ฉันยังคงมีปัญหา ฉันสามารถค้นหาPathแถวในตัวแปรสภาพแวดล้อมของฉัน คุณถูกต้องตรงที่มันนำไปสู่สิ่งที่ดูเหมือนจะเป็น Git รุ่นเก่ากว่า (เห็นได้ชัดว่าฉันมี 2 รุ่น. เดิมของฉันในฐานะติดตั้งผ่าน RailsInstaller อยู่ในไดเรกทอรี RailsInstaller และใหม่ที่ฉันเพิ่งติดตั้งในไดเรกทอรีของตัวเอง.) ฉันPathแถวอ่านC:\RailsInstaller\Git\cmd;C:\RailsInstaller\Ruby1.9.3\binและขึ้นอยู่กับการตอบสนองของคุณผมเปลี่ยนไปC:\Git;C:\RailsInstaller\Ruby1.9.3\binแต่ของฉัน terminal ยังคงแสดง v 1.7.9 ...
BrianScottK

คุณเปิดพรอมต์คำสั่งใหม่หลังจากการเปลี่ยนแปลงเพื่อตรวจสอบเวอร์ชันหรือไม่ นอกจากนี้ในC:\Gitคุณควรมี git Bash เปิดและชำระเงินคุณมีรุ่นที่ถูกต้องใน bash นี้จะเป็นการยืนยันว่าโฟลเดอร์นี้เป็นตำแหน่งที่ติดตั้ง 1.8 จริงๆ หากไม่มีอะไรให้ลองถอนการติดตั้งเวอร์ชันเก่าและติดตั้งใหม่
Simon Boudrias

ขอบคุณ @Simon! สิ่งนี้ใช้ไม่ได้ แต่นำฉันไปสู่คำตอบที่ถูกต้องซึ่งฉันได้อธิบายไว้ด้านล่าง ขอบคุณสำหรับความช่วยเหลือ!
BrianScottK

1
วิธีที่รวดเร็วกว่าในการรับรายการพา ธ คือการเปิด Powershell และป้อนข้อมูลต่อไปนี้:$env:path -split ';'
Dave Sexton

คุณสามารถใช้where gitเพื่อดูตำแหน่งที่ติดตั้ง Git PATHตรวจสอบให้แน่ใจว่าเส้นทางนั้นอยู่ใน ฉันชอบวิธีการ @DaveSexton ด้านบนเพื่อดูเส้นทาง var มีวิธีรับรายการที่คล้ายกันจากหน้าต่าง Git Bash ไม่ใช่ Powershell หรือไม่
SherylHohman

2

ถ้าคุณพิมพ์

$ git update

ใน bash git จะแจ้งให้คุณทราบว่าคำสั่ง 'update' ไม่ทำงานอีกต่อไปและจะแสดงคำสั่งที่ถูกต้องซึ่งเป็น 'update-git-for-windows'

แต่การอัพเดทจะยังคงดำเนินต่อไปคุณเพียงแค่กด"y"

หากคุณมีปัญหาในการรัน bashh ในฐานะผู้ดูแลระบบหรือเพิ่มเส้นทาง 'git.exe' ไปที่ "แอพที่อนุญาตผ่านการเข้าถึงโฟลเดอร์ที่ควบคุม"


2

หากคุณดูการอัปเดตล่าสุดบนเว็บไซต์ของ Gitในส่วน"git via git"คุณจะเห็นตัวเลือกเพื่ออัปเดตเวอร์ชันเก่าของคุณ

นี่คือคำสั่งที่คอมไพล์มีอยู่ในเว็บไซต์:

git clone https://github.com/git/git

มันทำงานสำหรับรุ่นของฉัน Git 2.13.0.windows.1ซึ่งเป็น


โอเคสัญญาณเตือนผิด ๆ การอัปเดตแสดงว่า "เสร็จสิ้น" อย่างไรก็ตามเวอร์ชั่นจะแสดงเหมือนกันดังนั้นฉันจึงถอนการติดตั้งและดาวน์โหลด Git เวอร์ชันล่าสุด
เนท

1

ฉันไม่คิดว่าปัญหาของคุณเกี่ยวข้องกับ Windows global PATH เหมือนremoteเฉพาะกับ repo

ฉันแนะนำให้คุณใช้ Git ภายใต้ Cygwin Git สามารถทำงานภายใต้บรรทัดคำสั่งของ Windows ได้ แต่อาจมีปัญหาแปลก ๆ ภายใต้ Cygwin เป็นธรรมชาติมากขึ้นและมีข้อผิดพลาดน้อยลง

เพียงคุณพิมพ์bashWindow CMD จากนั้นเริ่มใช้เครื่องมือ Unix และคำสั่ง คุณสามารถใช้ช็อตคัทเพื่อโหลดbashได้ง่ายเหมือนใช้ Windows CMD ปกติ

เช่นเดียวกับ Rails และ Ruby ฉันใช้ RailsInstaller มาก่อน แต่พบว่าการใช้ Cygwin เพื่อติดตั้ง Rails นั้นมีความเสถียรมากกว่า

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


ฉันเคยได้ยินคนอื่นแนะนำสิ่งนี้ แต่ตอนนี้ฉันรู้สึกว่าฉันใหม่เกินไปที่จะสังเกตเห็นความแตกต่างใน Cygwin vs Windows CMD
BrianScottK

1
Cygwin จะเลียนแบบสภาพแวดล้อมยูนิกซ์ คำสั่งทั้งหมดจะมีลักษณะเหมือนเนทิฟและ vairables สำหรับยูนิกซ์จะอยู่ในที่เดียว - ภายใต้โฟลเดอร์ cygwin หากคุณไม่ได้เตรียมที่จะ linux ใช้ cgywin เป็นอย่างน้อย
Billy Chan

2
Cygwin แย่มากมันบวมมากและมีพฤติกรรมแปลก ๆ และแตกหักมากมาย หากคุณต้องการใช้ Git บน Windows คุณควรใช้ Git สำหรับ Windows อย่างแน่นอน - แม้จะมีทุบตี Windows ดั้งเดิมและเครื่องมือ * NIX บางตัว หากคุณต้องการสภาพแวดล้อม Linux เต็มรูปแบบบน Windows ให้ไปที่ Microsoft Store และติดตั้งหนึ่งในนั้น (Ubuntu, SUSE, Debian, Kali)
OrangeDog
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.