Làm cách nào để nâng cấp lên phiên bản Git mới nhất trên Windows? Vẫn hiển thị phiên bản cũ hơn


375

Tôi vừa nâng cấp lên Git 1.8.0.1 cho Windows, từ phiên bản trước 1.7.9.mysysgit.0 của tôi. Tôi đã tải xuống phiên bản mới từ trang Git và cài đặt thông qua trình cài đặt Git bình thường EXE.

Điều đó nói rằng, khi tôi kích hoạt cửa sổ terminal, nó vẫn hiển thị rằng tôi đang chạy phiên bản git 1.7.9.mysysgit.0. Khi tôi gõ "git --version" từ dấu nhắc của tôi, điều tương tự.

Tôi đã tìm thấy bài viết này về một vấn đề tương tự với Git trên Mac OSX , điều này khiến tôi tin rằng nó có liên quan đến PATH bị lỗi, nhưng tôi vẫn còn khá mới mẻ (5 tháng tự học), vì vậy tôi Tôi không biết làm thế nào để dịch cái này sang Windows.

Vấn đề này phát sinh khi tôi bắt đầu một dự án Rails mới và cố gắng đẩy nó lên Git. Tôi đã thêm điều khiển từ xa:

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

sau đó:

git push -u origin master

Tôi đã nhận được thông báo lỗi sau:

fatal: https://github.com refs không tìm thấy: bạn đã chạy git update-server-information trên máy chủ chưa?

Googling lỗi đó đã dẫn tôi đến bài viết này , điều đó thôi thúc tôi nâng cấp, và tôi ở đây.

Câu trả lời:


722

Vì Git 2.16.1 (2) bạn có thể sử dụng

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

Trong các phiên bản từ 2.14.2 đến 2.16.1, lệnh là

C:\> git update

(Sau này được đổi tên để tránh nhầm lẫn với việc cập nhật kho lưu trữ cục bộ, ví dụ như svn updatenó.)

Lệnh đó không tồn tại trong Git 2.13 và trước đó.

Nếu lỗi này với "không phải là lệnh git" thì bạn thực sự không có Git cho Windows hoặc phiên bản của bạn đã rất cũ.

Trong trường hợp này, chỉ cần lấy trình cài đặt mới nhất từ https://git-scm.com/doad (kiểm tra xem bạn muốn 32- hay 64 bit) và chạy nó để nâng cấp.

Nếu bạn đã có phiên bản mới nhất thì không có gì, trong trường hợp đó bạn có thể tự chạy trình cài đặt để cài đặt lại.

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

60
Tôi không biết tại sao điều này lại bị đánh giá thấp như vậy - đó là câu trả lời chính xác cho cách cập nhật Git trên Windows.
OrangeDog

3
> git update trong phiên bản 2.14 không hoạt động với tôi (trên windows). Tôi đã sử dụng trình cài đặt được tải xuống từ trang web và mọi thứ đều suôn sẻ (bây giờ là ngày 2.17.1)
gianni

2
Hoạt động như một lá bùa, cảm ơn. Chắc chắn không nên hạ cấp.
rsenna

3
Tôi nghĩ rằng nó đang bị hạ cấp bởi vì phiên bản mà các lệnh này hoạt động cụ thể hơn so với quy định ban đầu. git updatekhông hoạt động cho đến 2.14.2, có nghĩa là đối với những người như @defines ở trên, câu trả lời này có vẻ sai.
rickibarnes

3
Tôi nghĩ rằng tôi phải gỡ cài đặt Git cho Windows và cài đặt lại phiên bản mới nhất, vì phiên bản tôi đang sử dụng là phiên bản git 2.14.1.windows.1 .
KaiserKatze

86

Đầu tiên, hãy kiểm tra phiên bản git của bạn bằng cách sử dụng lệnh này

git version

Sau đó theo dõi trường hợp theo phiên bản git của bạn

Ba trường hợp:

  1. Nếu phiên bản git của bạn là 2.14.1 trở về trước:

    Gỡ cài đặt git, tải xuống git mới nhất và cài đặt lại.

  2. Và các phiên bản giữa 2.14.2 và 2.16.1:

    Sử dụng lệnh git update

  3. Nếu phiên bản bằng hoặc lớn hơn Git 2.16.1 (2):

    Sử dụng lệnh git update-git-for-windows


4
Tôi đã phát điên với git updatelỗi trên phiên bản 2.14.1. Vì vậy, câu trả lời này là câu trả lời đúng vì nó giải quyết lệnh inexistente trước 2.14.2.
Erick Petrucelli

34

Cập nhật (26SEP2016): Không còn cần phải gỡ cài đặt phiên bản git trước đó của bạn để nâng cấp lên phiên bản mới nhất; gói cài đặt được tìm thấy tại trang web tải git win sẽ đảm nhận tất cả. Chỉ cần làm theo lời nhắc. Để biết thêm thông tin, hãy làm theo hướng dẫn khi cài đặt và nâng cấp git .


9
Nó không phải là trình cài đặt "chăm sóc tất cả mọi thứ", nó chỉ đơn giản ghi đè lên cài đặt trước đó. Vì vậy, nếu có cài đặt tùy chỉnh, sẽ được ghi đè!
Celdor

4
Có cách nào để nâng cấp và giữ các cài đặt hiện có của tôi không? Khi tôi chạy trình cài đặt windows để thực hiện nâng cấp, nó sẽ hỏi tôi tất cả các câu hỏi phức tạp tương tự mà nó đã hỏi khi tôi cài đặt lần đầu (về kết thúc dòng, tùy chọn trình soạn thảo, v.v.). Điều tôi thực sự muốn là chỉ cần có phiên bản mới và giữ tất cả các cài đặt hiện có của mình
Andy

@Andy, tôi không chắc liệu nó có bao gồm mọi cài đặt hay không, nhưng tôi sẽ sử dụng lệnh git-config trước khi nâng cấp, lưu trữ giá trị của bạn trong tập lệnh, nâng cấp với cài đặt mặc định và sau đó sử dụng tập lệnh để tùy chỉnh cài đặt của bạn. Tham khảo: git-scm.com/docs/git-config
David

3
Trình cài đặt không ghi đè bất kỳ cài đặt nào và tất cả các cài đặt bạn có thể chọn trong cài đặt mặc định theo giá trị hiện tại của chúng.
OrangeDog

17

Sử dụng lệnh "where git" để tìm hiểu cách nhắc lệnh chọn phiên bản. Khi bạn có đường dẫn, bạn có thể tiếp tục và gỡ cài đặt / xóa hoàn toàn phiên bản trước đó. Sau đó, nếu bạn cài đặt và đảm bảo vị trí đã cài đặt mới nằm trong đường dẫn, nó sẽ hoạt động tốt.

Sử dụng các công cụ thân thiện với git như cmder sẽ giúp cuộc sống của bạn dễ dàng hơn nhiều. Bạn thực sự không phải sử dụng khởi động kép hoặc cygwin nữa vì sự hỗ trợ cho git trong windows đã rất nổi tiếng. (Git cho các cửa sổ cài đặt msysgit bao gồm tất cả các công cụ unix cần thiết từ MinGW. MinGW đã có một thời gian và khá ổn định. Nếu bạn muốn, bạn có thể cài đặt phiên bản đầy đủ của msysgit hơn là Git cho Windows . Msysgit có sẵn trên Git cho trang cửa sổ ở phía dưới.)


2
Chỉ cần nhận ra rằng tôi đã trả lời một câu hỏi cũ. Nhưng có thể hữu ích cho những người khác đến trang này ...
Rajan Ponnappan

2
liên kết đến cmder bị hỏng :(
FirefoxMetzger

Có vẻ như liên kết cmder đang hoạt động trở lại
Rajan Ponnappan


11

Git Bash

Lưu ý, nếu bạn đang muốn tìm hiểu phiên bản Git Bashnào bạn đang chạy hoặc muốn xem nếu bạn cần cập nhật Git Bash, thì đó là một phần của Git for Windows.

Vì vậy, phiên bản Git Bash của bạn là:

git --version

phiên bản git 2.23.0.windows.1

Lưu ý rằng nó là kỹ thuật khác nhau từ Bash. Trên cùng một máy khi tôi chạy:

echo $BASH_VERSION

4.4,23 (1) - giải phóng

Trình cài đặt Git cho Windows

Để cập nhật lên phiên bản Git và Git Bash mới nhất, bạn có thể tải xuống và cài đặt phiên bản git mới nhất cho Windows . Theo Câu hỏi thường gặp , cài đặt / tùy chỉnh sẽ được giữ nguyên nếu chúng được cài đặt trong các thư mục cấu hình phù hợp.

Lưu ý: Trình cài đặt của họ thực sự được thiết kế thông minh để thực hiện đúng (ngoại trừ việc cho bạn biết rằng đó là tự động làm đúng). Nếu bạn đang thực hiện cập nhật, thì mọi màn hình trên trình cài đặt sẽ được đánh dấu trước với các cài đặt từ cài đặt hiện tại (sắp có trước đó).

Nó không hiển thị cho bạn các thiết lập mặc định chung chung. Bạn không cần phải tìm kiếm bất kỳ ai trong số họ, hoặc sợ phá vỡ thiết lập được mài giũa cẩn thận của bạn. Chỉ cần để lại mọi thứ như là, để giữ lại các lựa chọn trước đó của bạn.

Trong thực tế, họ đã làm cho nó thậm chí dễ dàng hơn (nếu chỉ rõ ràng rằng họ đã làm như vậy).
Có một hộp kiểm ở phía dưới [] Show only new settings(Tôi không nhớ từ ngữ chính xác). Vì không có gì trên màn hình đầu tiên thay đổi khi bạn đánh dấu vào ô, nên nó không rõ ràng chính xác là nó dùng để làm gì. Nếu bạn đánh dấu vào ô, thì tất cả các cài đặt hiện tại của bạn sẽ được giữ lại và nó sẽ bỏ qua việc hiển thị các màn hình cài đặt tiếp theo cho bạn. Chỉ màn hình với các cài đặt mới được giới thiệu sẽ được hiển thị.

git update-git-for-windows

Ngoài ra, như những người khác đã lưu ý, bạn cũng có thể cập nhật Git Bash và Git (theo định nghĩa, cả hai luôn được cập nhật cùng một lúc) từ dòng lệnh Git Bash, thông qua:

git update-git-for-windows  

Nếu bạn gõ git update, git vui lòng nhắc bạn rằng lệnh đã được cập nhật thành git update-git-for-windows:

Cảnh báo! git updateđã bị phản đối;
Vui lòng sử dụng git update-git-for-windowsthay thế.
Git cho Windows 2.26.0.windows.1 (64 bit)
Cập nhật


6

Dựa trên phản hồi cuối cùng từ @Simon, lần đầu tiên tôi gỡ cài đặt phiên bản Git mới. Sau đó tôi lại cài đặt phiên bản mới của Git vào thư mục tương tự như các phiên bản cũ , C:/RailsInstaller/Gitthay vì thư mục mặc định C:/Git.

Bây giờ cửa sổ đầu cuối rails của tôi cho thấy rằng tôi đang chạy phiên bản git mới 1.8.0.


2

để kiểm tra PATHbiến của bạn , hãy hành động như sau:

  1. Từ Bàn làm việc, bấm chuột phải vào Máy tính của tôi và bấm Thuộc tính.
  2. Nhấp vào liên kết Cài đặt hệ thống nâng cao ở cột bên trái.
  3. Trong cửa sổ Thuộc tính hệ thống, nhấp vào nút Biến môi trường.

Khi đó, cuộn để lấy Pathhàng, bạn sẽ nhận được một chuỗi dài các đường dẫn (ví dụ: C:\windows\bin;C:\program files\gitv.v.)

Tìm dòng hoặc dòng trong đó git được tham chiếu. Sau đó, đảm bảo đường dẫn này trỏ đến bản cài đặt Git 1.8.x của bạn. Nếu không, hãy xóa nó và thêm đường dẫn thực vào phiên bản Git mới nhất. Cuối cùng, bạn chỉ nên có một đường dẫn trong chuỗi liên kết đến Git.

Hy vọng điều này giúp đỡ!


Cảm ơn sự giúp đỡ, @Simon, nhưng tôi vẫn gặp vấn đề. Tôi đã có thể xác định vị trí Pathhàng trong Biến môi trường của mình. Bạn đã đúng ở chỗ nó đang hướng đến một phiên bản cũ hơn của Git. (Rõ ràng, tôi có 2 phiên bản. Ban đầu của tôi như được cài đặt thông qua RailsInstaller nằm trong thư mục RailsInstaller, và cái mới mà tôi chỉ được cài đặt trong thư mục riêng của mình.) My Pathhàng đọc C:\RailsInstaller\Git\cmd;C:\RailsInstaller\Ruby1.9.3\binvà dựa trên phản ứng của bạn, tôi đã thay đổi nó để C:\Git;C:\RailsInstaller\Ruby1.9.3\bin, nhưng tôi thiết bị đầu cuối vẫn hiển thị phiên bản 1.7.9 ...
BrianScottK

Bạn đã mở một dấu nhắc lệnh mới sau khi thay đổi để kiểm tra phiên bản chưa? Ngoài ra, trong C:\Git, bạn nên có một git Bash, mở nó và kiểm tra xem bạn có phiên bản phù hợp trong bash này không, điều này sẽ xác nhận thư mục này là nơi 1.8 thực sự được cài đặt. Nếu không có gì, hãy thử gỡ cài đặt phiên bản cũ và cài đặt lại phiên bản mới.
Simon Boudrias

Cảm ơn, @Simon! Điều này không hoạt động chính xác, nhưng dẫn tôi đến câu trả lời đúng, mà tôi đã nêu ra dưới đây. Đánh giá cao sự giúp đỡ!
BrianScottK

1
Một cách nhanh hơn để có được danh sách các đường dẫn là mở Powershell và nhập thông tin sau:$env:path -split ';'
Dave Sexton

Bạn có thể sử dụng where gitđể xem Git được cài đặt ở đâu. Hãy chắc chắn rằng con đường đó là trong của bạn PATH. Tôi thích phương pháp @Daveottton ở trên để xem var PATH. Có cách nào để có được một danh sách tương tự từ cửa sổ Git Bash, thay vì Powershell không?
SherylHohman

2

nếu bạn chỉ gõ

$ git update

trên bash git sẽ thông báo cho bạn rằng lệnh 'update' không còn hoạt động nữa và sẽ hiển thị lệnh chính xác đó là 'update-git-for-windows'

nhưng bản cập nhật vẫn sẽ tiếp tục, bạn chỉ cần nhấn "y"

nếu bạn gặp sự cố trên nó, hãy chạy bashh với tư cách quản trị viên hoặc thêm đường dẫn 'git.exe' vào "ứng dụng được phép thông qua truy cập thư mục được kiểm soát".


2

Nếu bạn xem bản cập nhật gần đây nhất trên trang web của Git trong "git via git" , bạn sẽ thấy tùy chọn cập nhật phiên bản cũ hơn.

Đây là lệnh mà git có trên trang web của họ:

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

Nó hoạt động cho phiên bản git của tôi là a 2.13.0.windows.1.


Được rồi, báo động sai. Bản cập nhật hiển thị là "xong", tuy nhiên, phiên bản hiển thị giống nhau, vì vậy tôi đã gỡ cài đặt và tải xuống phiên bản Git mới nhất.
Nate

1

Tôi không nghĩ vấn đề của bạn liên quan đến Windows toàn cầu, vì remote cụ thể là repo.

Tôi khuyên bạn nên sử dụng Git theo Cygwin. Git có thể hoạt động dưới dòng lệnh Windows, nhưng có thể có một số vấn đề kỳ lạ khó có thể tìm ra. Theo Cygwin, bản chất của nó nhiều hơn và ít lỗi hơn.

Tất cả những gì bạn cần là gõ bashvào Window CMD sau đó bắt đầu sử dụng các công cụ và lệnh Unix. Bạn có thể sử dụng phím tắt để tảibash , dễ dàng như sử dụng Windows CMD bình thường.

Điều này cũng đúng với Rails và Ruby. Tôi đã sử dụng RailsInstaller trước đây, nhưng thấy sử dụng Cygwin để cài đặt Rails ổn định hơn.

Cuối cùng tôi sẽ đề nghị cài đặt khởi động kép Ubuntu nếu bạn có thời gian (khoảng một tháng để làm quen). Cuối cùng, Windows không thân thiện với mọi công cụ Unix. Bạn sẽ thấy tất cả nỗi đau đã dừng lại.


Tôi đã nghe người khác gợi ý điều này, nhưng ngay bây giờ tôi cảm thấy mình quá mới để nhận thấy sự khác biệt trong Cygwin so với Windows CMD.
BrianScottK

1
Cygwin sẽ bắt chước môi trường unix. Tất cả các lệnh sẽ trông giống như bản địa và các vai trò môi trường cho unix sẽ ở một nơi - trong thư mục cygwin. Nếu bạn chưa sẵn sàng để sử dụng linux, ít nhất hãy sử dụng cgywin.
Billy Chan

2
Cygwin hút, nó rất bực bội và có vô số hành vi đáng ngạc nhiên và bị phá vỡ. Nếu bạn muốn sử dụng Git trên Windows thì bạn chắc chắn nên sử dụng Git cho Windows - nó thậm chí còn cung cấp một bash Windows gốc và một số công cụ * NIX. Nếu bạn thực sự muốn có một môi trường Linux đầy đủ trên Windows, hãy truy cập Microsoft Store và cài đặt một trong số chúng (Ubuntu, SUSE, Debian, Kali).
OrangeDog
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.