Get started using git on windows subsystem for linux

Install Git on Mac OS X

There are several ways to install Git on a Mac. In fact, if you’ve installed XCode (or it’s Command Line Tools), Git may already be installed. To find out, open a terminal and enter .

Apple actually maintain and ship their own fork of Git, but it tends to lag behind mainstream Git by several major versions. You may want to install a newer version of Git using one of the methods below:

Git for Mac Installer

The easiest way to install Git on a Mac is via the stand-alone installer:

  1. Download the latest Git for Mac installer.

  2. Follow the prompts to install Git.

  3. Open a terminal and verify the installation was successful by typing :

  4. (Optional) To make Git remember your username and password when working with HTTPS repositories, .

Install Git with Homebrew

If you have installed Homebrew to manage packages on OS X, you can follow these instructions to install Git:

  1. Open your terminal and install Git using Homebrew:

  2. Verify the installation was successful by typing which :

  3. (Optional) To make Git remember your username and password when working with HTTPS repositories, install the .

Install Git with MacPorts

If you have installed MacPorts to manage packages on OS X, you can follow these instructions to install Git:

  1. Open your terminal and update MacPorts:

  2. Search for the latest available Git ports and variants:

  3. Install Git with bash completion, the OS X keychain helper, and the docs:

  4. (Optional) To make Git remember your username and password when working with HTTPS repositories, configure the git-credential-osxkeychain helper.

Install the git-credential-osxkeychain helper

Bitbucket supports pushing and pulling your Git repositories over both SSH and HTTPS. To work with a private repository over HTTPS, you must supply a username and password each time you push or pull. The git-credential-osxkeychain helper allows you to cache your username and password in the OSX keychain, so you don’t have to retype it each time.

  1. If you followed the MacPorts or Homebrew instructions above, the helper should already be installed. Otherwise you’ll need to download and install it. Open a terminal window and check:

    If you receive a usage statement, skip to step 4. If the helper is not installed, go to step 2.

  2. Use curl to download git-credential-osxkeychain (or download it via your browser) and move it to :

  3. Make the file an executable:

  4. Configure git to use the osxkeychain credential helper.

    The next time Git prompts you for a username and password, it will cache them in your keychain for future use.

Install Git with Atlassian Sourcetree

Sourcetree, a free visual Git client for Mac, comes with its own bundled version of Git. You can download Sourcetree here.

To learn how to use Git with Sourcetree (and how to host your Git repositories on Bitbucket) you can follow our comprehensive Git tutorial with Bitbucket and Sourcetree.

Build Git from source on OS X

Building Git can be a little tricky on Mac due to certain libraries moving around between OS X releases. On El Capitan (OS X 10.11), follow these instructions to build Git:

  1. From your terminal install XCode’s Command Line Tools (if you haven’t already):

  2. Install Homebrew.

  3. Using Homebrew, install openssl:

  4. Clone the Git source (or if you don’t yet have a version of Git installed, download and extract it):

  5. To build Git run make with the following flags:

Install Git on Linux

Fun fact: Git was originally developed to version the Linux operating system! So, it only makes sense that it is easy to configure to run on Linux.

You can install on Linux through the package management tool that comes with your distribution.

Debian/Ubuntu

  1. Git packages are available using .
  2. It’s a good idea to make sure you’re running the latest version. To do so, Navigate to your command prompt shell and run the following command to make sure everything is up-to-date: .
  3. To install Git, run the following command: .
  4. Once the command output has completed, you can verify the installation by typing: .

Fedora

  1. Git packages are available using .
  2. To install Git, navigate to your command prompt shell and run the following command: .
  3. Once the command output has completed, you can verify the installation by typing: .

Note: You can download the proper Git versions and read more about how to install on specific Linux systems, like installing Git on Ubuntu or Fedora, in git-scm’s documentation.

Шаг 5 — Начальная настройка конфигурации через веб-интерфейс

Когда GitLab работает, и доступ разрешен, мы можем выполнить начальную настройку конфигурации приложения через веб-интерфейс.

Первый вход в систему

Откройте доменное имя вашего сервера GitLab в вашем браузере:

При первом входе откроется диалоговое окно установки пароля для учетной записи администратора:

В начальном диалоговом окне ввода пароля укажите и подтвердите защищенный пароль для административной учетной записи. Нажмите кнопку Change your password (Изменить пароль), когда будете готовы.

После этого вы перейдете на стандартную страницу входа в систему GitLab:

Здесь вы можете войти в систему с помощью только что заданного пароля. Учетные данные:

  • Имя пользователя: root
  • Пароль:

Введите эти значения в поля для существующих пользователей и нажмите кнопку Sign in (Вход). После входа в приложение откроется начальная страница, куда вы сможете добавлять проекты:

Теперь вы можете внести простые изменения и настроить GitLab желаемым образом.

Изменение настроек профиля

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

Чтобы внести необходимые изменения, нажмите значок пользователя в правом верхнем углу интерфейса. Выберите пункт Settings (Настройки) в выпадающем меню:

Откроется раздел настроек Profile (Профиль):

Измените имя и адрес электронной почты с Administrator и admin@example.com на более подходящие значения. Введенное имя будет отображаться другим пользователям, а адрес электронной почты будет использоваться для определения аватара по умолчанию, отправки уведомлений, в действиях Git через интерфейс и т. д.

После завершения настройки нажмите кнопку Update Profile settings (Обновить настройки профиля):

На указанный адрес электронной почты будет отправлено письмо с подтверждением. Следуйте указаниям в письме, чтобы подтвердить учетную запись и начать ее использовать с GitLab.

Изменение имени учетной записи

Нажмите Account (Учетная запись) в левой панели меню:

Здесь вы можете найти свой частный токен API или настроить двухфакторную аутентификацию. Однако пока что нас интересует раздел Change username (Изменить имя пользователя).

По умолчанию первой административной учетной записи присваивается имя root. Поскольку это имя широко известно, безопаснее заменить его другим именем. Изменится только имя учетной записи, права администратора у вас сохранятся. Замените root предпочитаемым именем пользователя:

Нажмите кнопку Update username (Обновить имя пользователя), чтобы внести изменения:

При следующем входе в GitLab обязательно используйте новое имя пользователя.

Добавление ключа SSH для своей учетной записи

В большинстве случаев вы захотите использовать с Git ключи SSH для взаимодействия с проектами GitLab. Для этого вам нужно добавить свой открытый ключ SSH в учетную запись GitLab.

Если вы уже создали на локальном компьютере пару ключей SSH, вы можете просмотреть открытый ключ с помощью следующей команды:

Вы увидите большой блок текста, выглядящий примерно так:

Скопируйте этот текст и вернитесь на страницу настройки профиля в веб-интерфейсе GitLab.

Если вместо этого вы получите сообщение, выглядящее следующим образом, это будет означать, что на вашем компьютере не настроена пара ключей SSH:

В этом случае вы можете создать пару ключей SSH, для чего нужно ввести следующую команду:

Примите параметры по умолчанию, а при желании укажите пароль для локальной защиты ключа:

После этого вы сможете просматривать свой открытый ключ с помощью следующей команды:

Скопируйте отображаемый блок текста и вернитесь в настройки профиля в веб-интерфейсе GitLab.

Нажмите пункт SSH Keys (Ключи SSH) в левом меню:

Вставьте в указанное место открытый ключ, скопированный с локального компьютера. Присвойте ему описательное название и нажмите кнопку Add key (Добавить ключ):

Теперь вы должны иметь возможность управлять проектами и хранилищами GitLab с локального компьютера без ввода учетных данных GitLab.

Как пользоваться Git?

Дальше я буду предполагать, что вы выполнили установку и базовую настройку git. Кроме установки, вам нужно указать правильный адрес электронной почты и имя пользователя для доступа к серверу Git, например, на GitHub. Если вы этого еще не сделали смотрите инструкцию установка Git в Ubuntu 16.04.

Обычно, структура проекта в Git будет зависеть от масштаба и сложности вашей программы. Но для начала мы будем использовать проект, состоящий только из одной ветви. Каждый проект содержит одну ветку по умолчанию, она называется master. Наш первый проект будет называться test.

Создание проекта

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

Эта команда создаст нужную структуру папок и переводит текущий каталог в только что созданный. Теперь создадим первый файл нашего проекта:

Проект готов, но система контроля версий git еще не знает об этом.

Настройка проекта в git

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

После того как репозиторий будет создан, вам нужно добавить свои файлы в него. Каждый файл нужно добавлять отдельно или сказать утилите, что необходимо добавить все файлы явно. Пока вы не добавите файл сам он не будет отслеживаться. Новые файлы в будущем тоже нужно добавлять, они не добавляются автоматически.  Сначала добавим текущую папку:

Если все прошло хорошо, то команда ничего не выведет.

Фиксация изменений

Изменения тоже автоматически не отслеживаются. Фиксация изменений выполняется с помощью команды commit. Вам нужно указать что было изменено с помощью небольшого комментария, буквально в несколько предложений. Хорошая практика выполнять фиксацию перед каждым серьезным изменением.

Таким образом, вы будете хранить все версии проекта, от самой первой и до текущей, а также сможете знать что, когда и где было изменено. Чтобы создать свой первый коммит выполните:

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

Отправка изменений

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

Сначала нужно добавить удаленный репозиторий с помощью команды remote. Для этого нужно передать ей URL:

Затем можно посмотреть список удаленных репозиториев:

Вы можете использовать не только github сервера, но и любые другие. Теперь для отправки ваших изменений используйте такую команду:

Команда push указывает, что нужно отправить данные в удаленный репозиторий, origin — наш настроенный репозиторий, а master — ветвь.

Управление ветвями

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

Опция -a указывает что нужно вывести все ветви, даже не синхронизированные. Звездочка указывает на активную ветвь. Теперь создадим ветвь для разработки с помощью команды checkout:

Переключаться между ветвями можно тоже с помощью той же команды:

Теперь создадим еще один файл:

И добавим его в нашу новую ветвь develop:

Сделаем коммит для внесенных изменений:

Дальше проверим существует ли этот файл в основной ветке master или только в дополнительной. Смотрим текущую ветку:

Затем переключаемся на ветку master и снова смотрим:

Здесь файла нет, так и должно быть. В git есть такая полезная вещь, как слияние. С помощью нее вы можете объединить две ветви. Например, переместить код из рабочей ветки в стабильную. Для этого достаточно выполнить команду merge:

Перед тем как будет выполнено слияние вам нужно ввести комментарий, зачем это нужно. Затем если вы еще раз выполните ls, то увидите, что здесь уже есть нужный файл. Наши примеры git подошли к концу.

Clownfish в помощь

Из бесплатного софта, с помощью которого можно изменить голос, по праву лучшим считается Clownfish. После установки приложения, нужно зайти в discord, затем запустить Клоун Фиш. В трее появится иконка программы. Щелкнув на нее правой кнопкой и выбрав верхний пункт меню можно увидеть окошко с готовыми шаблонами голосов.

А если активировать кнопку «Custom Pitch», то удастся самостоятельно скорректировать тональность. Двигая ползунок влево, получите мужской бас, чем левее, тем более глубокий и низкий звук получается. Перемещением вправо достигается диапазон, в котором говорят женщины, а крайние правые позиции ползунка дадут голос ребенка.

Create a maintenance branch

1. Find correct version

Fin latest version in common between the development release and that maintenance branch. Here, we’ll use the version tag ubuntu/1%3.28.1-0ubuntu4

2. create a branch from start starting point, and push it to salsa

$ git branch ubuntu/bionic ubuntu/1%3.28.1-0ubuntu4
$ git checkout ubuntu/bionic 
Switched to branch 'ubuntu/bionic'

3. Adjust parameters in debian/gbp.conf and debian/control.

# Change `debian-branch` to '''ubuntu/bionic''' in debian/gbp.conf
# Change Vcs-Browser in debian/control to the branch's page on https://salsa.debian.org/<package>/tree/<branch>
# Add `-b '''ubuntu/bionic'''` at the end of Vcs-Git
# Preserve debian Vcs-* values as XS-Debian-Vcs-*
$ git commit -a

4. Push your changes to salsa and track that branch

$ git push -u origin ubuntu/bionic 
Total 0 (delta 0), reused 0 (delta 0)
To git+ssh://git@salsa.debian.org:gnome-team/gnome-control-center
 *           ubuntu/bionic -> ubuntu/bionic
Branch 'ubuntu/bionic' set up to track remote branch 'ubuntu/bionic' from 'origin'.

Вклад в открытые проекты

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

Процесс разработки открытых проектов остаётся «прозрачным» и продвигается благодаря распределенной экспертной оценке. Такие проекты отличаются гибкостью и быстро обновляются.

Чем больше разработчиков участвует в создании открытого проекта, тем лучше: проект, поддерживаемый широким сообществом, быстро развивается и обновляется. Конечные пользователи тоже могут сделать вклад в развитие проекта с помощью кода или документации

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

Вы тоже можете поучаствовать в разработке программы. Если раньше вы не принимали участия в подобных проектах, начните с открытых программ, которыми часто пользуетесь сами. Подумайте, какие функции вы хотели бы улучшить. Прочитайте всю доступную документацию выбранной вами программы. Как правило, в домашнем каталоге открытых проектов можно найти файл CONTRIBUTING.md. Найдите и внимательно прочитайте этот файл, прежде чем приступить к разработке. Пообщаться с другими разработчиками программы обычно можно на форуме проекта.

Помните: любой вклад имеет большую ценность. Если у вас нет большого опыта в разработке открытых проектов, для начала вы можете исправить опечатки, добавить комментарии или улучшить документацию.

Working on patches

1. Ensure you are on the correct ubuntu/ branch (or your local experimental-feature branch).

$ git checkout ubuntu/master # for instance

2. Turn each patches in debian/patches as commits.

$ gbp pq rebase
gbp:info: Switching to 'patch-queue/ubuntu/master'
Current branch patch-queue/ubuntu/master is up to date.

-> Now, we have every patch referenced in debian/patches/series applied as separate commits on top of ubuntu/master, in a patch-queue/ubuntu/master branch, and we switched to that current checkout.

For instance

$ git missing ubuntu/master.. # git log would also show the commits
* 11a3a8cc6 - (HEAD -> patch-queue/ubuntu/master)  night-ligth-dialog: Avoid dereferencing invalid p
ointer (5 minutes ago)
* da06252e1 - [PATCH 4/4] thunderbolt: move to the 'Devices' page (5 minutes ago)
* 2c9f5bcbb - [PATCH 3/4] thunderbolt: new panel for device management (5 minutes ago)
* 660e9e633 - [PATCH 2/4] shell: Icon name helper returns symbolic name (5 minutes ago)
* a78ae89dd - [PATCH 1/4] shell: Don't set per-panel icon (5 minutes ago)

3. Hack…

We can git add/git commit. Any new commit will be a separate patch applied at the end of debian/patches/series. Commit description will be then converted to the patch description.

Remember previous tip of gbp buildpackage --git-ignore-new --git-export-dir="" to build a package with current content without having to switch branch.

4. optional: Reorder patches

If we don’t want this patch to be the last one, we can use an interactive git rebase:

$ git rebase -i ubuntu/master

That way, we only see the patches commit, can reorder them, amend or stash them. Removing one will also remove the patch from debian/patches/series

5. Reapply all changes to the original branch:

$ gbp pq export --no-patch-numbers
gbp:info: On 'patch-queue/ubuntu/master', switching to 'ubuntu/master'
gbp:info: Generating patches from git (ubuntu/master..patch-queue/ubuntu/master)

6. Modify changelog, git add, git commit

Note that gbp pq will unfuzz a lot of patches everytime you use it, creating some noise. Please add those changes separated from your new or modified patch hack.

And either push the change to your branch or to the main branches with a simple git push!

3. SmartGit

Ещё один кроссплатформенный графический клиент для Git с закрытым исходным кодом. Программу можно использовать бесплатно только для некоммерческих проектов. К тому же при использовании бесплатной версии вам придется всегда иметь самую свежую версию программы. Видимо разработчики таким образом пытаются максимально найти и устранить все ошибки, чтобы для коммерческих пользователей попала уже самая стабильная версия. У программы довольно неплохой интерфейс, ничем не уступающий GitKraken, здесь есть история коммитов, просмотр изменений в коммите, различные настройки слияния, инструменты для отправки данных на сервер или получения от туда обновлений. Кроме того, тут очень много настроек и поддерживается даже SSH клиент для работы с удалёнными репозиториями.

Система контроля версий Git

Для начала определим, что такое система контроля версий.

Так называют программу, которая позволяет хранить разные версии одного и того же документа, легко переключаться между ранними и поздними вариантами, вносить и отслеживать изменения.

Систем контроля версий много и все они работают по принципу компьютерной игры, где вы можете вернуться к месту сохранения, если что-то пошло не так.

Одна из самых популярных систем называется Git. Её отличие от других программ — отсутствие графической версии. Поэтому работа с Git ведётся через командную строку. В разных операционных системах свои программы для взаимодействия с Git.

В Windows их две: PowerShell и cmd.exe. В Ubuntu это Terminal. Самая популярная программа на macOS тоже называется Terminal. Если вам не подходит встроенная в систему программа для работы с командной строкой, вы можете поставить свою. Например, написанную на JavaScript программу Hyper, которая работает на любой операционной системе. На Windows популярны программы Cmder и Git Bash, а на macOS — iTerm.

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

Устанавливаем Git

Если раньше вы не работали с Git, сперва его нужно установить. Способы зависят от операционной системы вашего компьютера.

Установка в Linux

Используйте обычный менеджер пакетов вашего дистрибутива. Откройте терминал и введите подходящие команды.

  • Если у вас 21 или более ранняя версия Fedora, используйте .
  • Для 22 и последующих версий Fedora вводите .
  • Для дистрибутивов, основанных на Debian, например, Ubuntu, используйте .

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

Установка на macOS

  1. Скачиваем Git со страницы проекта.
  2. Запускаем загруженный файл.
  3. Система может показать окно с ошибкой, где будет написано, что файл скачан с неавторизованного сайта и инсталлятор не может быть запущен. В таком случае нужно зайти в «Системные настройки» — «Безопасность» (Security and Privacy), в появившемся окне будет сообщение об ошибке и кнопка Open anyway (Всё равно открыть). Нажимаем.
  4. Система покажет окно, уточняющее хотите ли вы запустить установку. Подтверждаем действие.
  5. Установщик проведёт через все необходимые шаги.

Установка в Windows

Скачайте exe-файл инсталлятора с сайта Git и запустите его. Это Git для Windows, он называется msysGit. Установщик спросит добавлять ли в меню проводника возможность запуска файлов с помощью Git Bash (консольная версия) и GUI (графическая версия). Подтвердите действие, чтобы далее вести работу через консоль в Git Bash. Остальные пункты можно оставить по умолчанию.

Проверим, что Git установлен

После того, как все действия по установке завершены, убедимся, что Git появился в системе компьютера. Откройте терминал и введите , должна появиться текущая версия программы на вашей машине. Эта проверка подходит для всех операционных систем.

Настройка Git

После того как Git появился на компьютере, нужно ввести свои данные, а именно имя и адрес электронной почты. Ваши действия в Git будут содержать эту информацию.

Откройте терминал и используйте следующую команду, чтобы добавить своё имя:

Обратите внимание, что в командах, указанных выше, есть опция. Это значит, что такие данные будут сохранены для всех ваших действий в Git и вводить их больше не надо

Если вы хотите менять эту информацию для разных проектов, то в директории проекта вводите эти же команды, только без опции .

Installing Git from Source

A more flexible method of installing Git is to compile the software from source. This takes longer and will not be maintained through your package manager, but it will allow you to download the latest release and will give you some control over the options you include if you wish to customize.

Before you begin, you need to install the software that Git depends on. This is all available in the default repositories, so we can update our local package index and then install the packages.

After you have installed the necessary dependencies, you can go ahead and get the version of Git you want by visiting the Git project’s mirror on GitHub, available via the following URL:

From here, be sure that you are on the branch. Click on the Tags link and select your desired Git version. Unless you have a reason for downloading a release candidate (marked as rc) version, try to avoid these as they may be unstable.

Next, on the right side of the page, click on the Clone or download button, then right-click on Download ZIP and copy the link address that ends in .

Back on your Ubuntu 16.04 server, move into the directory to download temporary files.

From there, you can use the command to install the copied zip file link. We’ll specify a new name for the file: .

Unzip the file that you downloaded and move into the resulting directory by typing:

Now, you can make the package and install it by typing these two commands:

To ensure that the install was successful, you can type and you should receive relevant output that specifies the current installed version of Git.

Now that you have Git installed, if you want to upgrade to a later version, you can clone the repository, and then build and install. To find the URL to use for the clone operation, navigate to the branch or tag that you want on the project’s GitHub page and then copy the clone URL on the right side:

At the time of writing, the relevant URL is:

Change to your home directory, and use on the URL you just copied:

This will create a new directory within your current directory where you can rebuild the package and reinstall the newer version, just like you did above. This will overwrite your older version with the new version:

With this complete, you can be sure that your version of Git is up to date.

Установка Git из файла с исходным кодом

Если вы ищете более гибкий метод установки Git, возможно, вы захотите компилировать программное обеспечение из файла с исходным кодом, о чем мы расскажем подробнее в этом разделе. Это метод требует больше времени, а полученный результат не будет сохранен в диспетчере пакетов, но он позволяет загрузить последнюю версию и дает определенный контроль над параметрами, которые вы включаете в ПО при необходимости индивидуальной настройки.

Проверьте текущую версию Git, установленную на сервере:

Если Git установлен, вы получите вывод, аналогичный следующему:

Перед началом установки вам нужно установить программное обеспечение, от которого зависит Git. Его можно найти в репозиториях по умолчанию, поэтому мы можем обновить локальный индекс пакетов, а после этого установить соответствующие пакеты.

После установки необходимых зависимостей создайте временную директорию и перейдите в нее. В эту директорию мы загрузим тар-архив Git.

На сайте проекта Git перейдите в список тар-архивов на странице https://mirrors.edge.kernel.org/pub/software/scm/git/ и загрузите желаемую версию. На момент написания последней версией была версия 2.26.2, поэтому для демонстрационных целей мы загрузим именно эту версию. Мы используем curl и выведем загружаемый файл в .

Распакуйте тар-архив:

Перейдите в новую директорию Git:

Теперь вы можете создать пакет и установить его, введя эти две команды:

Теперь замените процесс оболочки, чтобы использовать только что установленную версию Git:

Теперь вы можете проверить версию, чтобы убедиться в успешной установке.

Мы успешно выполнили установку Git и теперь можем завершить настройку.

Команда git

Уже по традиции, перед тем, как перейти к примерам и работе с командой давайте рассмотрим ее основные опции и параметры. Синтаксис git очень прост:

$ git опции команда аргументы

Сначала рассмотрим опции, они влияют на работу всей утилиты:

  • -C — использовать указанную папку репозитория вместо текущей папки;
  • -c параметр=значение — использовать указанное значение параметра конфигурации;
  • -p — прокручивать весь вывод с помощью less;

Теперь рассмотрим команды git, их немного больше и именно с помощью них вы будете выполнять все основные действия:

  • add — добавить файл или папку в репозиторий git;
  • am — применить все патчи из email;
  • archive — создать архив файлов;
  • bisect — использовать бинарный поиск для поиска нужного коммита;
  • branch — управление ветками проекта;
  • bundle — перемещение объектов и ссылок в архиве;
  • checkout — переключение между ветками;
  • cherry-pick — внести изменения в уже существующие коммиты;
  • clean — удалить все неотслеживаемые файлы и папки проекта;
  • clone — создать копию удаленного репозитория в папку;
  • commit — сохранить изменения в репозиторий;
  • diff — посмотреть изменения между коммитами;
  • fetch — скачать удаленный репозиторий;
  • init — создать репозиторий;
  • merge — объединить две ветви;
  • pull — интегрировать удаленный репозиторий с локальным;
  • push — отправить изменения в удаленный репозиторий;
  • tag — управление тегами;
  • worktree — управление деревями разработки.

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

4 Настраиваем nginx

Во-первых, вам нужно настроить Nginx для передачи трафика Git в Git. Вы можете сделать это, отредактировав файл конфигурации Nginx по умолчанию (некоторые моменты прокомментированы):

# Default server configuration
#
server {
listen 80 default_server;
listen :80 default_server;

root /var/www/html/git;

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;

server_name _;

location / {
# Сначала пробуем получить запрашиваемый URL как файл,
# затем как директорию, при неудаче показываем 404.
try_files $uri $uri/ =404;
}

location ~ (/.*) {
client_max_body_size 0; # <span class=»tlid-translation translation» lang=»ru»><span class=»» title=»»>Git push может быть массивным, просто чтобы убедиться, что nginx не разорвал соединение, добавьте это</span></span>.
auth_basic «Git Login»; # Текст отображаемый при запросе окна логина.
auth_basic_user_file «/var/www/html/git/htpasswd»; #файл с паролями
include /etc/nginx/fastcgi_params; # Подключаем конфиг fastcgi с параметрами по умолчанию
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; # <span class=»tlid-translation translation» lang=»ru»><span class=»» title=»»>Сообщает fastcgi передать запрос исполняемому файлу git http backend</span></span>
fastcgi_param GIT_HTTP_EXPORT_ALL «»;
fastcgi_param GIT_PROJECT_ROOT /var/www/html/git; # /var/www/git это расположение всех ваших git репозиториев.
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param PATH_INFO $1; # Передает перехваченую группу нашей локации в git.
fastcgi_pass unix:/var/run/fcgiwrap.socket; # Передает запрос в fastcgi
}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

# Default server configuration
#

server{

listen80default_server;

listen::80default_server;

rootvarwwwhtmlgit;

# Add index.php to the list if you are using PHP

index index.html index.htm index.nginx-debian.html;

server_name_;

location{

# Сначала пробуем получить запрашиваемый URL как файл,

# затем как директорию, при неудаче показываем 404.

try_files$uri$uri=404;

}

location~(.*){

client_max_body_size;# <span class=»tlid-translation translation» lang=»ru»><span class=»» title=»»>Git push может быть массивным, просто чтобы убедиться, что nginx не разорвал соединение, добавьте это</span></span>.

auth_basic»Git Login»;# Текст отображаемый при запросе окна логина.

auth_basic_user_file»/var/www/html/git/htpasswd»;#файл с паролями

includeetcnginxfastcgi_params;# Подключаем конфиг fastcgi с параметрами по умолчанию

fastcgi_param SCRIPT_FILENAMEusrlibgit-coregit-http-backend;# <span class=»tlid-translation translation» lang=»ru»><span class=»» title=»»>Сообщает fastcgi передать запрос исполняемому файлу git http backend</span></span>

fastcgi_param GIT_HTTP_EXPORT_ALL»»;

fastcgi_param GIT_PROJECT_ROOTvarwwwhtmlgit;# /var/www/git это расположение всех ваших git репозиториев.

fastcgi_param REMOTE_USER$remote_user;

fastcgi_param PATH_INFO$1;# Передает перехваченую группу нашей локации в git.

fastcgi_pass  unixvarrunfcgiwrap.socket;# Передает запрос в fastcgi

}
 
}

Сохраняем и закрываем. Проверяем конфиг на корректность

sudo nginx -t

1sudo nginx-t

Если всё нормально, то идём дальше. если нет — ищем где накосячили, пропустили скобку, точку с запятой, итд.

Теперь вам нужно будет создать учетную запись пользователя, которую вам нужно будет использовать для просмотра коммитов в репозитории. Вы можете создать пользователя с именем user1 с помощью утилиты htpasswd:

sudo htpasswd -c /var/www/html/git/htpasswd user1

1sudo htpasswd-cvarwwwhtmlgithtpasswd user1

Теперь перезапускаем nginx

sudo systemctl restart nginx

1sudo systemctl restart nginx

Для чего git понадобился мне

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

Раньше в одном из проектов, над которым тоже работал один, я использовал svn. Но меня очень сильно раздражало наличие в каждом каталоге моего проекта папки .svn . Да и ветвление в svn мне не очень нравилось, хотя не исключаю что я его мог не правильно использовать.

В результате я решил использовать в текущем проекте git.

2.1. Начало знакомства

На просторах Хабра я наткнулся на несколько статей, которые мне помогли разобраться с тем что такое git и как его правильно готовить за очень короткое время:

  • Git Workflow (копия)
  • Git Wizardry (копия)
  • Командная работа в Git (оригинал) (копия)

Без их прочтения и осмысления дальше лучше не идти.

Вам также понравится

Установка Git

Для начала нужно узнать, была ли система Git установлена ранее. Если вы создавали репозитории для хранения собственного кода, то, скорее всего, вы уже установили Git на свой локальный компьютер. Кроме того, в некоторых операционных системах Git устанавливается по умолчанию.

Чтобы узнать, установлена ли система Git на вашей машине, откройте терминал (или командную строку) и введите:

Если система Git уже установлена, команда вернёт версию программы. В противном случае на экране появится сообщение:

Проще всего установить Git из стандартного репозитория системы.

Установка Git в Ubuntu 16.04 или Debian 8

Обновите индекс пакетов и установите Git с помощью следующих команд:

Это, пожалуй, самый быстрый способ установки Git. Однако репозитории обычно содержат устаревшие версии пакетов. Чтобы получить самую новую версию Git, скомпилируйте её из исходного кода.

Установка Git в CentOS

С помощью пакетного менеджера yum вы можете обновить пакеты системы, а затем найти и установить пакет Git из репозитория CentOS.

Флаг –y автоматически подтвердит все запросы программы.

Чтобы установить Git, введите:

Примечание: Как говорилось ранее, стандартные репозитории обычно содержат устаревшие версии пакетов. Чтобы получить самую новую версию Git, скомпилируйте её из исходного кода.

Установка Git в Fedora

Пакеты Git в Fedora можно установить с помощью yum или dnf.

Примечание: Пакетный менеджер DNF (Dandified Yum) появился в Fedora 18 и стал пакетным менеджером по умолчанию, начиная с Fedora 22.

Обновите dnf и установите Git.

В более старых версиях Fedora эти действия можно выполнить с помощью yum:

Установка Git в Mac OS X

Если вы введёте команду Git на локальном компьютере Macintosh (например git –version), вам будет предложено установить Git, если программа еще не установлена в вашей системе. Получив такую подсказку, просто подтвердите установку Git и следуйте дальнейшим инструкциям.

Чтобы установить последнюю версию Git на Mac, воспользуйтесь бинарным инсталлятором. На сайте Git вы можете найти специальный инсталлятор Git для OS X. Чтобы загрузить его автоматически, откройте эту ссылку.

Установка Git on Windows

Официальный пакет Git для Windows можно загрузить с сайта Git. Чтобы загрузить его автоматически, откройте эту ссылку.

Также существует отдельный от официального сайта Git открытый проект под названием Git for Windows. Этот инструмент предоставляет интерфейс командной строки и графический пользовательский интерфейс для эффективной работы с Git на машине Windows. Получить дополнительную информацию об этом проекте и ознакомиться с кодом можно на сайте проекта Git for Windows.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий