Як оновити до останньої версії Git у Windows? Ще відображається старша версія


375

Я щойно оновлений до Git 1.8.0.1 для Windows, з попередньої версії 1.7.9.mysysgit.0. Я завантажив нову версію з сайту Git та встановив через звичайний інсталятор Git EXE.

Однак, коли я запускаю вікно свого терміналу, воно все ще показує, що я запускаю git версії 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 refs не знайдено: ви запустили git update-server-info на сервері?

Похибка цієї помилки привела мене до цієї статті , яка спонукала мене до оновлення, і ось я.

Відповіді:


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
Я не знаю, чому це так схвалено - це правильна відповідь, як оновити Git в Windows.
OrangeDog

3
> оновлення git у версії 2.14 не працювало для мене (у Windows). Я використовував інсталятор, завантажений з веб-сайту, і все пройшло гладко (зараз 2.17.1)
gianni

2
Працює як шарм, дякую. Однозначно не слід брати до уваги.
rsenna

3
Я думаю, що це знижується, тому що версія, де ці команди працюють, більш конкретна, ніж спочатку. git updateне працює до 2.14.2. Це означає, що для таких людей, як @defines, ця відповідь виглядає неправильно.
rickibarnes

3
Я думаю, що мені доведеться видалити Git для Windows та перевстановити найновішу версію, тому що версія, яку я використовую, - це git версія 2.14.1.windows.1 .
KaiserKatze

85

Спочатку перевірте свою версію git за допомогою цієї команди

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. Отже, ця відповідь є правильною відповіддю, оскільки вона звертається до цієї неіснуючої команди до 2.14.2.
Ерік Петручеллі

34

Оновлення (26SEP2016): більше не потрібно видаляти попередню версію git, щоб оновити її до останньої; Пакет інсталятора, знайдений на сайті завантаження git win, піклується про всіх. Просто дотримуйтесь підказок. Для отримання додаткової інформації дотримуйтесь інструкцій щодо встановлення та оновлення git .


9
Це не те, що інсталятор "дбає про все", він просто перезаписує попередню установку. Тож якщо є власні налаштування, вони будуть перезаписані!
Celdor

4
Чи є спосіб оновити та зберегти існуючі налаштування? коли я запускаю інсталятор Windows для оновлення, він задає мені все ті ж складні запитання, які він задавав під час першого встановлення (про закінчення рядків, налаштування редактора тощо). Мені дуже хочеться отримати нову версію та зберегти всі мої існуючі настройки
Енді

@Andy, я не впевнений, що він охоплюватиме всі налаштування, але я б перед оновленням використовував команду git-config, зберігав свої значення в сценарії, оновлював налаштування за замовчуванням, а потім використовував сценарій для налаштування параметрів. Довідка: git-scm.com/docs/git-config
Девід

3
Інсталятор не перезаписує жодних налаштувань, і всі параметри, які ви можете обрати за замовчуванням для встановлення до їх поточних значень.
OrangeDog

17

Використовуючи команду "where git" дізнайтеся, як командний рядок підбирає версію. Отримавши шлях, ви можете продовжити та видалити / видалити попередню версію повністю. Тоді якщо ви встановите і переконайтеся, що нове встановлене місце знаходиться на шляху, воно повинно просто працювати.

Використання зручних для git інструментів, таких як cmder, значно полегшить ваше життя. Вам більше не доведеться використовувати подвійну завантажувальну систему або cygwin, оскільки підтримка git у Windows вже є першокласною. (Git для Windows встановлює msysgit, який включає всі необхідні інструменти Unix від MinGW. MinGW існує там якийсь час і досить стабільний. Якщо ви хочете, ви можете встановити повну версію msysgit, а не Git для Windows . Msysgit доступний на Git для сторінка Windows внизу.)


2
Щойно зрозумів, що відповів на старе запитання. Але може бути корисним для інших, хто заходить на цю сторінку ...
Раджан Поннаппан

2
посилання на cmder порушено :(
FirefoxMetzger

Схоже, посилання cmder знову працює
Раджан Поннаппан


11

Гіт Баш

Зауважте, якщо ви натомість шукаєте, щоб дізнатись, яку версію Git Bashзапущено, або хочете побачити, чи потрібно оновити Git Bash, вона є частиною Git for Windows.

Отже, ваша версія Git Bash така:

git --version

версія git 2.23.0.Windows.1

Зауважте, що технічно він відрізняється від Bash. На моїй тій же машині, коли я запускаю:

echo $BASH_VERSION

4.4.23 (1) -випуск

Git для інсталятора Windows

Щоб оновити до останньої версії Git і Git Bash, ви можете завантажити та встановити останню версію git для Windows . Відповідно до FAQ , налаштування / налаштування слід зберігати, якщо вони були встановлені у відповідних папках конфігурації.

Примітка. Їх інсталятор насправді розроблений для того, щоб робити правильно (крім того, щоб сказати вам, що він робить все правильно автоматично). Якщо ви робите оновлення, то на кожному екрані інсталятора попередньо позначено параметри вашої поточної (незабаром попередньої) установки.

Він не відображає загальних параметрів за замовчуванням. Вам не потрібно шукати жодного з них або боятися порушити вашу ретельно відточену настройку. Просто залиште все як є, щоб зберегти свій попередній вибір.

Насправді їм це було ще простіше (хоч би було зрозуміло, що вони так роблять).
Внизу є прапорець [] Show only new settings(я не пам’ятаю точного формулювання). Оскільки на першому екрані нічого не змінюється, коли ви позначаєте поле, не зовсім очевидно, для чого це. Якщо ви позначите це поле, всі ваші поточні налаштування будуть збережені, і він пропустить, показуючи ці наступні екрани налаштувань. Показуватимуться лише екрани з нещодавно введеними налаштуваннями.

git update-git-for-windows

Крім того, як зазначали інші, ви також можете оновити Git Bash і Git (за визначенням, вони завжди оновлюються одночасно) з командного рядка Git Bash через:

git update-git-for-windows  

Якщо ви вводите git update, git ласкаво нагадує вам, що команда була оновлена ​​до git update-git-for-windows:

Увага! git updateзастаріло;
Будь ласка, використовуйте git update-git-for-windowsзамість цього.
Git для Windows , 2.26.0.windows.1 (64bit)
до теперішнього часу


6

На основі останньої відповіді @Simon я вперше видалив нову версію Git. Потім я заново встановив нову версію Git в тому ж каталозі, що і старої версії , C:/RailsInstaller/Gitзамість каталогу за замовчуванням C:/Git.

Тепер у моєму вікні терміналу rails видно, що я запускаю нову версію git 1.8.0.


2

щоб перевірити свою PATHзмінну, дійте так:

  1. На робочому столі правою кнопкою миші клацніть Мій комп'ютер та виберіть Властивості.
  2. Клацніть посилання Розширені налаштування системи в лівій колонці.
  3. У вікні "Властивості системи" натисніть кнопку "Змінні середовища".

Потрапивши туди, прокрутіть, щоб отримати Pathрядок, ви отримаєте довгий рядок контурів (наприклад C:\windows\bin;C:\program files\git, тощо)

Знайдіть рядок або лінії git, на які посилається. Потім переконайтеся, що цей шлях вказує на вашу установку Git 1.8.x. Якщо ні, видаліть його та додайте реальний шлях до новітньої версії Git. Зрештою, у рядку повинен бути лише один шлях, що посилається на Git.

Сподіваюся, що це допоможе!


Дякую за допомогу, @Simon, але у мене все ще виникають проблеми. Мені вдалося знайти Pathрядок у моїх змінних середовища. Ви були правильні в тому, що це спрямовувало на те, що, здається, є старшою версією Git. (Мабуть, у мене є дві версії. Моя оригінальна версія, встановлена ​​через RailsInstaller, що знаходиться в каталозі RailsInstaller, і нова, яку я щойно встановив у своєму власному каталозі.) Мій Pathрядок прочитав C:\RailsInstaller\Git\cmd;C:\RailsInstaller\Ruby1.9.3\binі, грунтуючись на вашій відповіді, я змінив його C:\Git;C:\RailsInstaller\Ruby1.9.3\bin, але мій термінал все ще показує v 1.7.9 ...
BrianScottK

Ви відкрили новий командний рядок після зміни, щоб перевірити версію? Крім того, у C:\Gitвас повинен бути git Bash, відкрийте його та замовте, чи у вас є правильна версія цього bash, це підтвердить, що ця папка там, де 1.8 дійсно встановлено. Якщо нічого не зробить, спробуйте видалити стару версію та перевстановити нову.
Саймон Будріас

Дякую, @Simon! Це точно не спрацювало, але привело мене до правильної відповіді, яку я окреслив нижче. Вдячний за допомогу!
BrianScottK

1
Швидший спосіб отримати список шляхів - відкрити Powershell і ввести наступне:$env:path -split ';'
Дейв Секстон

Ви можете використовувати, where gitщоб побачити, де встановлено Git. Переконайтеся, що шлях у вашому PATH. Мені подобається метод @DaveSexton вище для перегляду варію PATH. Чи є спосіб отримати подібний список із вікна Git Bash, а не з Powershell?
SherylHohman

2

якщо ви просто введете

$ git update

on bash git повідомить вас, що команда 'update' більше не працює, і відобразить правильну команду, яка є "update-git-for-windows"

але все одно оновлення триватиме, потрібно просто натиснути "y"

якщо у вас виникають проблеми, запустіть bashh як адміністратор або додайте шлях "git.exe" до "дозволених програм через контрольований доступ до папок".


2

Якщо ви подивитесь на останнє оновлення на веб-сайті Git у розділі "git via git", ви побачите можливість оновити старішу версію.

Ось команда, яку має git на своєму сайті:

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

Він працював на мою версію git, яка була 2.13.0.windows.1.


Гаразд, помилкова тривога. Оновлення відображається як "зроблено", проте версія відображається як однакова, тому я видалив та завантажив найновішу версію Git.
Нейт

1

Я не думаю, що ваша проблема пов'язана з глобальним PATH Windows, як remoteце характерно для repo.

Я рекомендую вам використовувати Git під Cygwin. Git може працювати в командному рядку Windows, але можуть бути важкі проблеми, які важко розібратися. У Cygwin це більше природи і менше помилок.

Все, що вам потрібно, це набрати bashWindow CMD, а потім почати використовувати інструменти та команди Unix. Ви можете використовувати ярлик для завантаження bash, це так само просто, як використовувати звичайний Windows CMD.

Те саме стосується Рейлів та Рубі. Раніше я використовував RailsInstaller, але виявив використання Cygwin для встановлення Rails більш стабільним.

Нарешті, я запропоную встановити подвійний завантажувач Ubuntu, якщо у вас є час (близько місяця, щоб ознайомитися). У кінцевому рахунку Windows не дуже дружній до всіх інструментів Unix. Ви виявите, що всі болі припинені.


Я чув, як інші люди пропонують це, але зараз я відчуваю, що я занадто новий, щоб помітити різницю в Cygwin vs Windows CMD.
BrianScottK

1
Цигвін буде імітувати навколишнє середовище Unix. Усі команди будуть виглядати як рідні, а параметри навколишнього середовища для unix будуть знаходитися в одному місці - у папці cygwin. Якщо ви не готові до Linux, використовуйте принаймні cgywin.
Біллі Чан

2
Cygwin смокче, він дуже роздутий і є безліч дивних і порушених поведінок. Якщо ви хочете використовувати Git в Windows, то вам слід неодмінно використовувати Git для Windows - він навіть пропонує рідну Windows bash та деякі інструменти * NIX. Якщо ви дійсно хочете повного середовища Linux у Windows, перейдіть до магазину Microsoft і встановіть один із них (Ubuntu, SUSE, Debian, Kali).
OrangeDog
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.