понедельник, 21 марта 2016 г.

Множественные уязвимости в Git. Обновляемся на последнюю версию.

Подробно можно почитать тут:

http://www.securitylab.ru/vulnerability/480256.php

http://www.securitylab.ru/news/480245.php

Обновляемся до 2.7.4 https://git-scm.com/download/win

Удивительно, но под Mac OS X разработка версий отстает сейчас доступна только 2.6.4, то есть уязвимая версия.

G001G002G003G004G005

Вот только на этом шаге появилось что-то новое – Git Credential Manager. По ходу это плюшка для Visual Studio, но я ее оставил на всякий случай, хотя VS у меня и не стоит.

G007

Как всегда, инсталлер сперва снес старую версию под корень, а потом стал ставить новую. Так что, как обычно надо было сохранить все настройки Git.

G008

G010

Happy End!

четверг, 21 января 2016 г.

Правильное обновление Git с версии 2.6.4 до версии 2.7.0 под Windows 10 x64

Как я уже писал в прошлой статье, Git под Windows не обновляет прежде установленную версию, а тупо сносит ее и устанавливает новую. Соответственно все настройки которые у вас были сделаны для Bash и терминала mintty могут легко слететь если вы их не забекапили.

Поэтому первым шагом делаем копию следующих файлов:

C:\Program Files\Git\etc\profile – здесь у меня хранятся алиасы для команд Git.

C:\Program Files\Git\etc\profile.d\git-prompt.sh – здесь хранятся настройки command prompt для Bash.

C:\Users\USER_NAME\.mintty – настройки терминала mintty.

Возможно у вас есть свои настройки и в других файлах, поэтому сами смотрите что вам надо сохранять.

Ну и далее скачиваем дистрибутив тут https://git-scm.com/download/win

G270001

И запускаем установку…

G270002

G270003

G270004

G270005

G270006

G270007

G270008

И вот после этого шага начинается полная деинсталяция предыдущей установки…

G270009

И потом идет чистая установка Git…

G270010

G270011

Соответственно все настройки девственно чисты. Поэтому сразу же возвращаем сохраненные файлы на свои места и проверяем версию Git…

G270012

Надо отметить, что указанные файлы, которые мы сохранили перед установкой, могут отличаться от версии к верссии, поэтому лучше понимать их синтаксис и восстанавливать настройки по примеру уже тех которые были в них сделаны.

В этой версии Git был изменен файл git-prompt.sh.

четверг, 10 декабря 2015 г.

Обновление Git под Windows 10 с версии 2.5.3 до версии 2.6.3

Ни когда не обновлял Git таким образом но сейчас попробуем.

Качаем дистрибутив Git от сюда: https://git-scm.com/download/win

GU001

Естественно под свою разрядность, ну или как хотите… Я скачал под свою, чтобы обновить предыдущую установку.

Ну и запускаем скачанный файл…

GU002

После нажатия Next установщик не спросил путь, так что есть надежда что обновление пройдет гладко. И на следующем этапе уже выбраны те опции что я выбирал в предыдущей установке:

GU003

Далее так же выбрана опция что я выбирал прежде:

GU004

Далее опять мой предыдущий выбор:

GU005

Далее опять мой предыдущий выбор:

GU006

И опять мой предыдущий выбор:

GU007

А вот потом он поступил не красиво :( Этот установщик, он тупо удалил предыдущую мою установку. Со всеми моими настройками. Хотя я их конечно забекапил до этого, но все равно не красиво так делать. И так как у меня запущенный Far Manager находился в каталоге Git, то произошел сбой установки, и по существу пришлось делать чистую установку.

И да, чтобы Git установился в Program Files установщик необходимо запустить с правами администратора.

Так что можно сказать что обновление провалено. Так как настройки терминала при обновлении не сохраняются :(

По существу все изменения что у меня были хранятся по пути C:\Program Files\Git\etc\profile.d в файле git-prompt.sh

Там настраивается внешний вид терминала Git. У меня, после моих настроек, он выглядит так:

GU008

пятница, 25 сентября 2015 г.

Установка Git 2.5.3 x64 на Windows 10 Pro x64

Совсем недавно, 18 сентября 2015, была выпущена новая версия Git 2.5.3. Теперь она поставляется для x64 и x32 платформ и кроме того существует и в портабельной (portable) версии для обоих платформ.

Сейчас будем разбираться с установкой и настройкой. Поехали!

1) Качаем установщик Git-2.5.3-64-bit.exe

2) И запускаем его…

G0001

G0002

G0003

Выставляем галки как на скриншоте ниже

G0004

В принципе, если хотите, то можете выбрать и Git GUI, но он достаточно убогий и на мой взгляд лучше пользоваться другими графическими утилитами для Git. А еще лучше просто консолью :)

Причем даже если вы эту галку снимете, то gitk (Git GUI) все равно установится, единственное что он не пропишется в реестре для контекстного меню. Ну и на том спасибо. Меньше мусора.

G0005

Далее выбираем пункт как на скриншоте ниже. Ну или выбираете тот который вам по душе :)

G0006

Далее выбираем первый пункт, ну или, опять же, как душеньке угодно :)

G0007

Ниже тоже можно выбрать пункт как на скриншоте. Но опять же это дело вкуса. Тем более что в Windows 10 "империя зла", таки сделала добрый, ну более или менее хороший терминал. В общем выбираем по вкусу :)

G0008

И вообще все эти настройки что делаются на этапе инсталляции легко меняются в конфигурационных файлах.

Далее я ни чего не выбирал

G0009

Тем более, опять же, это можно изменить в конфигурационном файле и какой параметр менять тут уже указано.

И понеслась установка!

G0010

G0012

Все! Приехали! Конечная! Git установился.

После этого в меню Start появятся следующие пункты:

G0013

Git Bash – это консоль Bash для работы c Git

Git CMD – это консоль Windosws cmd.exe для работы с Git

Git GUI – это такая бесполезная штука, запустите увидите :)

Теперь давайте проверим что все у нас работает. Для этого запустим Git Bash и Git CMD. Git Bash это консоль в NIX стиле. Git CMD – это cmd.exe.

А после запуска дадим команду git --version

G0014

G0015

Как видим все работает. Конечно можно причесать обе консоли на предмет цветов, шрифтов и т.д. и т.п.

И еще пара замечаний, видно из Git Bash он основан на MINGW (x64). И git так же доступен и из обычного cmd.exe, который вы сами можете запустить…

G0016

Ну и далее настраиваем Git на свой вкус и цвет.

Единственное что еще стоит заметить, то это то что установщик Git дописал в системную переменную PATH путь к Git:

C:\Program Files\Git\cmd

Ну и еще стоит напомнить о том, что если вы хотите настроить Git на работу с русским языком, то помните еще и том в какой кодировке у вас работает терминал (консоль).

пятница, 1 мая 2015 г.

Настойка переменной окружения HOME для Git и плагина EGit в Eclipse

В принципе у меня и без этого все работало хорошо, но просто увидел вот такое предупреждение в Eclipse:

eclipse.buildId=4.4.2.M20150204-1700
java.version=1.8.0_45
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=ru_RU
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product

org.eclipse.egit.ui
Warning
Fri May 01 18:49:30 MSK 2015
Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\<user_name>'. If this is not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.

Лечится все это очень просто. Есть описания на английском:

http://wiki.eclipse.org/EGit/User_Guide#Setting_up_the_Home_Directory_on_Windows

https://danlimerick.wordpress.com/2011/07/11/git-for-windows-tip-setting-home-and-the-startup-directory/

В общем просто создаем переменную окружения HOME вот так:

2015-05-01_191030

Хотя я проблем ни каких не заметил. Может потому что работаю в командной строке. Мне ее хватает.

понедельник, 30 марта 2015 г.

Инструменты для работы с Git – IDM UltraCompare 8.50.0.1023

Для полноты картины опишу и этот инструмент. Может кто привык к нему. Но как то он не очень работает с кодировочками.

Этап установки пропущу. Сразу же привету конфиг файл и примеры работы.

[core]
 repositoryformatversion = 0
 filemode = false
 bare = false
 logallrefupdates = true
 symlinks = false
 ignorecase = true
 hideDotFiles = dotGitOnly

[diff]
 tool = p4m
 tool = kdiff3
 tool = dm
 tool = dfu
 tool = wm
 tool = ss
 tool = bc4
 tool = araxis
 tool = edp
 tool = ucp

[difftool "p4m"]
 cmd = "p4merge.exe $LOCAL $REMOTE"

[difftool "kdiff3"]
    path = C:/Program Files/KDiff3/kdiff3.exe

[difftool "dm"]
 cmd = C:/Program\\ Files/DiffMerge/sgdm.exe $LOCAL $REMOTE

[difftool "dfu"]
 cmd = diffusew $LOCAL $REMOTE

[difftool "wm"]
 cmd = winmergeu $LOCAL $REMOTE

[difftool "ss"]
 cmd = smartsynchronize.exe $LOCAL $REMOTE

[difftool "bc4"]
 cmd = bcomp.exe $LOCAL $REMOTE

[difftool "araxis"]
 path = C:\\Program Files\\Araxis\\Araxis Merge\\compare.exe

[difftool "edp"]
        cmd = \"C:/Program Files/ExamDiff Pro/ExamDiff.exe\" \"$LOCAL\" \"$REMOTE\" //nh 

[difftool "ucp"]
 cmd = ucp.exe -t $LOCAL $REMOTE


[difftool]
        prompt = false
        keepBackup = false
        trustExitCode = false

[merge]
 tool = p4m
 tool = kdiff3
 tool = dm
 tool = dfu
 tool = ss
 tool = bc4
 tool = araxis
 tool = edp
 tool = ucp

[mergetool]
 prompt = false
 keepBackup = false
 keepTemporaries = false

[mergetool "p4m"]
 cmd = "p4merge.exe $BASE $LOCAL $REMOTE $MERGED"
 trustExitCode = true
 

[mergetool "kdiff3"]
 path = C:/Program Files/KDiff3/kdiff3.exe

[mergetool "dm"]
 cmd = C:/Program\\ Files/DiffMerge/sgdm.exe -merge -result=$MERGED $LOCAL $BASE $REMOTE 

[mergetool "dfu"]
 cmd = diffusew $MERGED $LOCAL $BASE $REMOTE

[mergetool "ss"]
        cmd = smartsynchronize.exe $LOCAL $REMOTE $MERGED
        trustExitCode = false

[mergetool "bc4"]
        cmd = bcomp.exe $LOCAL $REMOTE $BASE $MERGED
        trustExitCode = true

[mergetool "araxis"]
 path = C:\\Program Files\\Araxis\\Araxis Merge\\compare.exe

[mergetool "edp"]
        cmd = \"C:/Program Files/ExamDiff Pro/ExamDiff.exe\" 
//merge \"$REMOTE\" \"$BASE\" \"$LOCAL\" //o:\"$MERGED\" 
//dn1:\"Remote\" //dn2:\"Base\" //dn3:\"Local\" //dno:\"Output\" //nh

[mergetool "ucp"]
 cmd = ucp.exe -3 $BASE $LOCAL $REMOTE

Протестируем работу сравнения файлов командой

$ git difftool c258082 ffd6b37 --tool=ucp --cc test.txt

U0001

Всплыло окошко

U0002

И так сравнение работает, проверяем слияние командами:

$ git merge newbranch
$ git mergetool --tool=ucp


U0004

Всплыло окошко, которое хочется сразу же закрыть Smile

U0003

Виндовую кодировочку показывает не верно. Странно это как-то. Но так или иначе работает.

четверг, 19 марта 2015 г.

Инструменты для работы с Git – GitEye

Идем сюда и качаем под свою ОС

G0001

Установка сводится к разархивированию архива и запуска приложения, которое по существу является плагином Git к Eclipse.

G0002

G0003

Добавим любой текущий репозиторий

G0004

G0005

В общем получили оболочку Git из Eclipse Smile