- Configuring Git to handle line endings
- In this article
- Global settings for line endings
- Per-repository settings
- Example
- Refreshing a repository after changing line endings
- Установка и использование системы контроля версий Git в Windows
- Виртуальный сервер на базе Windows
- Что это такое?
- Загрузка и установка
- Подключение к удаленному репозиторию
- Аутентификация по SSH-ключам
- Git для начинающих. Часть 2. Установка Git
- Установка Git под Windows
- 1. Запустить установочный файл
- 2. Ознакомиться, если есть желание, с лицензионным соглашением и нажать на кнопку Next
- 3. Выбрать компоненты, которые следует установить
- 4. Указать способ использования Git
- 5. Настройка правил окончания строки
- 6. Выбор эмулятора терминала, который будет использован с Git Bash
- 7. Настройка дополнительных параметров
- 8. Завершение установки
- Установка Git под Linux
Configuring Git to handle line endings
To avoid problems in your diffs, you can configure Git to properly handle line endings.
In this article
Every time you press return on your keyboard you insert an invisible character called a line ending. Different operating systems handle line endings differently.
When you’re collaborating on projects with Git and GitHub, Git might produce unexpected results if, for example, you’re working on a Windows machine, and your collaborator has made a change in OS X.
You can configure Git to handle line endings automatically so you can collaborate effectively with people who use different operating systems.
Global settings for line endings
The git config core.autocrlf command is used to change how Git handles line endings. It takes a single argument.
On OS X, you simply pass input to the configuration. For example:
On Windows, you simply pass true to the configuration. For example:
On Linux, you simply pass input to the configuration. For example:
Per-repository settings
Optionally, you can configure a .gitattributes file to manage how Git reads line endings in a specific repository. When you commit this file to a repository, it overrides the core.autocrlf setting for all repository contributors. This ensures consistent behavior for all users, regardless of their Git settings and environment.
The .gitattributes file must be created in the root of the repository and committed like any other file.
A .gitattributes file looks like a table with two columns:
- On the left is the file name for Git to match.
- On the right is the line ending configuration that Git should use for those files.
Example
Here’s an example .gitattributes file. You can use it as a template for your repositories:
You’ll notice that files are matched— *.c , *.sln , *.png —, separated by a space, then given a setting— text , text eol=crlf , binary . We’ll go over some possible settings below.
text=auto Git will handle the files in whatever way it thinks is best. This is a good default option.
text eol=crlf Git will always convert line endings to CRLF on checkout. You should use this for files that must keep CRLF endings, even on OSX or Linux.
text eol=lf Git will always convert line endings to LF on checkout. You should use this for files that must keep LF endings, even on Windows.
binary Git will understand that the files specified are not text, and it should not try to change them. The binary setting is also an alias for -text -diff .
Refreshing a repository after changing line endings
When you set the core.autocrlf option or commit a .gitattributes file, you may find that Git reports changes to files that you have not modified. Git has changed line endings to match your new configuration.
To ensure that all the line endings in your repository match your new configuration, backup your files with Git, delete all files in your repository (except the .git directory), then restore the files all at once.
- Save your current files in Git, so that none of your work is lost.
- Add all your changed files back and normalize the line endings.
- Show the rewritten, normalized files.
- Commit the changes to your repository.
Установка и использование системы контроля версий Git в Windows
Виртуальный сервер на базе Windows
- Лицензия включена в стоимость
- Тестирование 3-5 дней
- Безлимитный трафик
В инструкции описан процесс загрузки, установки системы контроля версий Git на сервера с операционной системой Windows и подключения к удаленному репозиторию GitHub.
Что это такое?
Git — одна из самых популярных систем контроля версий, используется разработчиками, для контроля изменений в своих разработках и проектах. Изначально создан для использования на Linux-подобных операционных системах, но позднее, из-за удобства и популярности для Windows был написан специальный эмулятор, поддерживающий функционал Git’a.
Загрузка и установка
Загрузите установщик с официального сайта. Загрузка начнется автоматически.
Перейдите в папку “Downloads” и запустите на исполнение загруженный файл.
Укажите путь до каталога в который будет установлен Git.
Чтобы на рабочем столе была иконка Git, на следующем шаге отметьте галочкой “On the Desktop”.
Введите имя директории, которая будет создана в Start Menu. При необходимости можно изменить путь с помощью кнопки Browse.
Выберете способ использования из командной строки:
- Use Git from Git Bash only — использование только из командной строки Bash.
- Use Git from the Windows Command Prompt — использование командной строки Bash, а также минимальный набор команд Git из консоли Windows.
- Use Git and optional Unix tools from the Windows Command Prompt — использование Git и утилит Unix из командной строки Windows, в этом случае будут перезаписаны некоторые утилиты Windows, например find и sort.
Выберете библиотку, которая будет использована при подключении по протоколу HTTPS:
- OpenSSL — сертификаты сервера будут проверяться с использованием Unix-файла ca-bundle.crt.
- Windows Secure Channel — сертификаты сервера будут проверяться с использованием стандартной библиотеки Windows.
Убедитесь, что вы выбрали способ обработки окончания строк «Checkout Windows-style, commit Unix-style line endings». Это значение гарантирует, что Git преобразует LF в CRLF при проверке текстовых файлов. При выполнении текстовых файлов CRLF также преобразуется в LF. Это мера совместимости для защиты новых строк в текстовых файлах, что позволяет легко работать с текстовыми файлами в Windows и на платформах Unix.
Примечание: LF и CRLF — управляющий символ для переноса строки в Unix и Windows соответственно.
Далее необходимо сконфигурировать используемый терминал:
- MinTTY — терминал Unix;
- Windows — стандартный терминал Windows.
Отметьте галочками нужные вам дополнительные функции:
- File system caching — кэширование файловой системы.
- Git Credential Manager — включить менеджер учетных данных.
- Symbolic links — разрешить символьные ссылки.
Нажмите кнопку Install.
Начнется процесс установки.
Подключение к удаленному репозиторию
Откройте каталог с файлами, которые необходимо отслеживать в системе контроля версий и выложить на GitHub. В пустую часть каталога нажмите правой кнопкой мыши и выберете Git Bash Here.
Перед вами откроется приглашение командной строки в зависимости от настроек.
Для настройки необходимо указать ваше имя и электронную почту:
git config —global user.email «you@example.com»
git config —global user.name «Ваше имя»
Для того чтобы начать отслеживать содержимое папки в системе, выполните команды:
git init
git add
Выполните первый коммит:
git commit -m «Init»
Чтобы добавить изменения, например, на github выполните действие:
git remote add origin https://github.com/пользователь/репозиторий.git
git push -u origin master
git remote add gitlab https://server/namespace/project.git
git push -u gitlab master
Перед вами откроется окно входа (консольное или стандартное окно Windows). В качестве пользователя укажите ваш логин на GitHub, репозиторий — название существующего репозитория.
Аутентификация по SSH-ключам
Выполнить подключение к удаленному репозиторию можно по протоколу SSH с помощью приватного и публичного ключа. Чтобы сгенерировать пару, выполните команду в консоли GitBash, указав ваш реальный почтовый адрес:
ssh-keygen -t rsa -b 4096 -C «email@example.com»
В процессе генерации вам будет предложено указать директорию и имя файла для ключа, примите значение по умолчанию, нажав Enter. Далее, при желании можно указать ключевую фразу в качестве дополнительной защиты, при ее отсутствии нажмите Enter. В результате будут сгенерированы ключи.
eval $(ssh-agent -s)
Вы увидите идентификатор процесса.
Добавьте ключи к ssh-агенту:
Теперь нужно добавить ключ к удаленному серверу Git. Заходим на сервер Git и в настройках добавляем SSH-ключ.
Например, на сервере GitHub это можно сделать следующим образом: откройте Settings -> SSH and GPG keys,нажмите New SSH key. В поле Title введите понятное название, в поле Key вставьте публичный ключ (содержимое файла
/.ssh/id_rsa.pub). Нажмите Add SSH key.
В результате у вас появится новый ключ.
Для проверки настроек выполните команду:
ssh -T git@github.com
Если все настроено верно, то вы увидите следующее сообщение.
Git для начинающих. Часть 2. Установка Git
Для того, чтобы начать работать с системой контроля версий Git ее необходимо предварительно установить. Рассмотрим варианты установки этой VCS под MS Windows и Linux.
Установка Git под Windows
Для установки Git под Windows необходимо предварительно скачать дистрибутив. Для этого перейдите на страницу https://git-scm.com/
Если вы зашли из под операционной системы (ОС) Windows, главная страница сайта будет выглядеть примерно так, как показано на рисунке ниже. Для других ОС отличие будет заключаться в том, что изменится область для скачивания дистрибутива (см. правый нижний угол).
Для того чтобы скачать Git нужно нажать на кнопку Downloads for Windows, расположенную в правой части окна.
Процесс дальнейшей установки Git выглядит так.
1. Запустить установочный файл
2. Ознакомиться, если есть желание, с лицензионным соглашением и нажать на кнопку Next
3. Выбрать компоненты, которые следует установить
4. Указать способ использования Git
В этом окне доступны три возможных варианта:
- Use Git from Git Bash only
Переменная PATH не модифицируется и работа с Git возможна только через специализированную оболочку, которая называется Git Bash.
- Use Git from the Windows Command Prompt
В этом случае происходит минимальная модификация переменной окружения PATH, которая позволит работать с Git через командную стоку Windows. Работа через Git Bash также возможна.
- Use Git and optional Unix tools from the Windows Command Prompt
В переменную PATH вносится значительное количество модификаций, которые позволят, в рамках командной строки Windows, использовать как Git так и утилиты Unix, которые поставляются вместе с дистрибутивом Git.
Наша рекомендация: опция Use Git from the Windows Command Prompt.
5. Настройка правил окончания строки
Существует два варианта формирования конца строки в текстовых файлах – это Windows стиль и Unix стиль. Данное окно позволяет выбрать одну из опций, определяющих правило формирования окончания строки:
- Checkout Windows-style, commit Unix-style line endings
Checkout (операция извлечения документа из хранилища и создания рабочей копии) производится в Windows стиле, а commit (операция отправки изменений в репозиторий) в Unix стиле.
- Checkout as-is, commit Unix-style line endigns
Checkout производится в том формате, в котором данные хранятся в репозитории, а commit осуществляется в Unix стиле.
- Checkout as-is, commit as-is
Checkout и commit производятся без дополительных преобразований.
Наша рекомендация: опция Checkout Windows-style, commit Unix-style line endings.
6. Выбор эмулятора терминала, который будет использован с Git Bash
Возможен выбор из двух вариантов:
- Use MinTTY (the defaul terminal of MSYS2)
Git Bash будет использовать в качестве эмулятора терминала MinTTY.
- Use Windows’ default console window
Git будет использовать Windows консоль (“cmd.exe”).
Наша рекомендация: опция Use MinTTY (the defaul terminal of MSYS2).
7. Настройка дополнительных параметров
Доступны следующие параметры:
- Enable file system caching
Включение операции кэширования при работе с файлами. Эта опция позволит значительно повысить производительность.
- Enable Git Credential Manager
Предоставляет возможность работы с защищенным хранилищем.
- Enable symbolic links
Активирует работу с символьными ссылками.
Наша рекомендация: опции Enable file system caching и Enable Git Credential Manager.
8. Завершение установки
После нажатия на кнопку Install будет произведена установка Git на Windows, по окончании установки пользователь получит соответствующее сообщение.
Установка Git под Linux
Для установки Git под Linux, также необходимо зайти на сайт https://git-scm.com/ и перейти в раздел Downloads. В зависимости от используемой вами версии операционной системы Linux необходимо выбрать тот или иной способ установки Git.
Solaris 11 Express
Рекомендуем классный курс по git от GeekBrains , перейдите по ссылке и найдите в разделе “Курсы” курс “Git. Быстрый старт” . Это бесплатный видеокурс, зарегистрируйтесь и начинайте получать новые знания.