blob: 742059ce16f8ae9e80f02674c98bcf480f742924 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
* Copyright © 1997, 2011, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Руководство пользователя по Git - учебный курс по IDE NetBeans</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"></meta>
<meta name="author" content="Alyona.Stashkova@netbeans.org"></meta>
<meta name="description" content="Overview of GIT Features in NetBeans IDE"></meta>
<meta name="keywords" content="NetBeans, IDE, integrated development environment, GIT,
versioning software, open source, developers, collaborate"></meta>
<link rel="stylesheet" type="text/css" href="../../../netbeans.css"></link>
<link rel="stylesheet" type="text/css" href="../../../lytebox.css" media="screen"></link>
<script type="text/javascript" src="../../../images_www/js/lytebox-compressed.js"></script>
</head>
<body>
<h1>Руководство пользователя по Git</h1>
<p>IDE NetBeans обеспечивает поддержку для клиента управления версиями Git. Благодаря этой поддержке выполнять задачи контроля версий можно непосредственно из среды IDE. В этом документе демонстрируется выполнение основных задач контроля версий в среде IDE путем рассмотрения стандартной последовательности действий при использовании программного обеспечения контроля версий.</p>
<p>Git является распределенной системой с открытым кодом, предназначенной для быстрого и эффективного контроля версий как в небольших, так и в масштабных проектах. Каждый клон Git представляет собой полнофункциональный репозиторий с полным набором возможностей отслеживания редакций и истории, не зависящими от наличия сетевого доступа или доступа к центральному серверу. Операции ветвления и слияния выполняются быстро и без затруднений. Использование Git для контроля версий файлов в большой степени сходно с использованием таких систем, как Mercurial, Subversion, CVS, Perforce и т.п. </p>
<h3>Содержание</h3>
<img alt="Содержимое на этой странице применимо к IDE NetBeans 7.1, 7.2 или 7.3" class="stamp" src="../../../images_www/articles/71/netbeans-stamp-71-72-73.png" title="Содержимое этой страницы применимо к IDE NetBeans 7.1, 7.2 и 7.3" />
<ul class="toc">
<li><a href="#initialize">Инициализация репозитория Git</a></li>
<li><a href="#clone">Клонирование репозитория Git</a>
<ul><li><a href="#github">Клонирование репозитория Git из GitHub с использованием протокола SSH</a></li></ul></li>
<li><a href="#add">Добавление файлов в репозиторий Git</a></li>
<li><a href="#editing">Редактирование файлов</a>
<ul>
<li><a href="#viewChanges">Просмотр изменений в редакторе исходного кода</a> </li>
<li><a href="#viewFileStatus">Просмотр информации о состоянии файла</a></li>
<li><a href="#diff">Сравнение версий файлов</a></li>
<li><a href="#revert">Откат изменений</a></li>
</ul> </li>
<li><a href="#committing">Фиксация исходных файлов в репозитории</a></li>
<li><a href="#branch">Работа с ветвями</a>
<ul>
<li><a href="#branchCreate">Создание ветви</a></li>
<li><a href="#branchCheckOut">Извлечение ветви</a></li>
<li><a href="#branchMerge">Слияние</a></li>
<li><a href="#branchDelete">Удаление ветви</a></li>
</ul></li>
<li><a href="#remote">Работа с удаленными репозиториями</a>
<ul>
<li><a href="#fetch">Загрузка изменений</a></li>
<li><a href="#pull">Загрузка изменений и слияние с активной веткой</a></li>
<li><a href="#push">Выгрузка изменений</a></li>
</ul></li>
<li><a href="#summary">Заключение</a></li>
<li><a href="#seealso">Дополнительные сведения</a></li>
</ul>
<h2><a name="reqs"></a>Требования</h2>
<p><strong>Для работы с этим учебным курсом требуются программное обеспечение и ресурсы, перечисленные ниже.</strong></p>
<table>
<tbody>
<tr>
<th class="tblheader" scope="col">Программное обеспечение или материал</th>
<th class="tblheader" scope="col">Требуемая версия</th>
</tr>
<tr>
<td class="tbltd1"><a href="http://www.netbeans.org/downloads/index.html" target="_blank">IDE NetBeans</a></td>
<td class="tbltd1">Версия 7.1, 7.2 или 7.3</td>
</tr>
<tr>
<td class="tbltd1"><a href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">Комплект для разработки приложений на языке Java</a> (JDK)</td>
<td class="tbltd1">Версия 6 или 7</td>
</tr>
</tbody>
</table>
<div>
<a name="initialize"></a>
<h2>Инициализация репозитория Git</h2>
<p>Для инициализации репозитория Git с использованием существующих файлов, контроль исходных кодов которых еще не осуществляется, требуется выполнить следующие действия.</p>
<ol>
<li>В окне 'Проекты' выберите проект, для которого не осуществляется управление версиями, и щелкните правой кнопкой мыши имя проекта.</li>
<li>В контекстном меню выберите <tt>Создание версии</tt> &gt; <tt>Инициализировать репозиторий Git</tt> (или выберите в главном меню <tt>Группа</tt> &gt; <tt>Git</tt> &gt; <tt>Инициализировать</tt>).
<p class="align-center">
<a href="../../../images_www/articles/73/ide/git/initialize-git-repo.png" rel="lytebox" title="Диалоговое окно 'Подключаемые модули'"> <img alt="Диалоговое окно 'Подключаемые модули'" border="1/" src="../../../images_www/articles/73/ide/git/initialize-git-repo-small.png"></a></p>
</li>
<li>В диалоговом окне <tt>Инициализировать репозиторий Git </tt> укажите путь к репозиторию, в котором будут храниться файлы с контролем версий, или щелкните &quot;Обзор&quot; и выберите требуемый каталог. </li>
<li>Нажмите кнопку &quot;ОК&quot;.
<p>В папке, указанной выше в шаге 3 (папка проекта NetBeans по умолчанию), создается вложенная папка <tt>.git</tt>, являющаяся репозиторием Git, в котором будут храниться все данные моментальных снимков проекта. В указанной папке Git запускает создание версий для всех файлов.<br /> В окне <tt>Окно</tt> &gt; <tt>Вывод</tt> &gt; <tt>Выходные данные</tt> можно просмотреть отчет среды IDE о ходе создания репозитория в локальном рабочем каталоге.</p>
<p class="align-center"><img alt="Окно вывода" border="1/" src="../../../images_www/articles/73/ide/git/output-init.png"></p>
</li>
</ol>
<p>В рабочем дереве все файлы проекта помечены как <tt>Добавленные</tt>. Для просмотра <a href="#viewFileStatus">состояния</a> файла наведите курсор на имя файла в окне проектов. В рабочем дереве состояние файла отображается в зеленом цвете справа от косой черты, как показано на следующем рисунке. </p>
<p class="align-center"><img alt="Новое в рабочем дереве" border="1/" src="../../../images_www/articles/73/ide/git/new-locally.png"></p>
<p>После инициализации репозитория Git выполняется либо <a href="#add">добавление</a> файлов, либо непосредственная <a href="#committing">фиксация</a> файлов в репозитории Git.</p>
</div>
<div>
<a name="clone"></a>
<h2>Клонирование репозитория Git</h2>
<p> Для получения копии уже существующего репозитория Git необходимо выполнить операцию его клонирования. Прежде чем запустить мастера клонирования репозитория в среде IDE, следует узнать URL-адрес репозитория Git. </p>
<ol>
<li>В главном меню выберите <tt>Группа</tt> &gt; <tt>Git</tt> &gt; <tt>Клонировать</tt>. Отображается мастер клонирования репозитория.
<p class="align-center">
<a href="../../../images_www/articles/73/ide/git/clone-wizard.png" rel="lytebox" title="Мастер клонирования репозиториев"> <img alt="Мастер клонирования репозиториев" border="1/" src="../../../images_www/articles/73/ide/git/clone-wizard-small.png"></a></p></li>
<li>На странице &quot;Репозиторий&quot; укажите путь к местоположению репозитория Git, имя пользователя и пароль (при необходимости эти данные можно сохранить для использования в дальнейшем).</li>
<li>(Не обязательно) Щелкните &quot;Настройка прокси&quot; для отображения диалогового окна &quot;Параметры&quot; и установите настройки сервера прокси. По завершении нажмите кнопку &quot;ОК&quot;. </li>
<li>Нажмите кнопку &quot;Далее&quot; для перехода к следующему действию мастера.</li>
<li>На странице &quot;Удаленные ветви&quot; выберите ветви репозитория, которые требуется загрузить (или из которых надо загрузить изменения) в локальный репозиторий. Нажмите кнопку &quot;Далее&quot;.</li>
<li>На странице &quot;Целевой каталог&quot; укажите следующие данные.
<ul>
<li>В поле &quot;Родительский каталог&quot; введите путь к каталогу на жестком диске, выбранному для размещения клонированного репозитория (или нажмите кнопку &quot;Обзор&quot; и выберите требуемый каталог).<br /> В поле &quot;Родительский каталог&quot; выводится путь к каталогу по умолчанию <tt>NetBeansProjects</tt>, в котором хранятся все проекты NetBeans.</li>
<li>В поле &quot;Имя клона&quot; введите имя локальной папки, в которой требуется создать клон исходного проекта.<br /> По умолчанию в поле &quot;Имя клона&quot; выводится имя текущего репозитория Git. </li>
<li>В поле &quot;Извлечение ветви&quot; выберите ветвь, которую требуется извлечь в рабочее дерево.</li>
<li>В поле &quot;Удаленное имя&quot; введите имя исходного клонируемого репозитория.<br /> По умолчанию для клонируемого репозитория используется псевдоним <tt>origin</tt>. Рекомендуется использовать это значение.</li>
<li>Оставьте установленным флажок &quot;Поиск проектов Netbeans после клонирования&quot;, чтобы поиск проектов выполнялся непосредственно после окончания клонирования. (Этот подключаемый модуль выполняет поиск проектов NetBeans в клонированных ресурсах и предлагает открыть обнаруженные проекты.)
</li>
</ul> </li>
<li>Нажмите кнопку &quot;Завершить&quot;.<br />По завершении клонирования репозитория Git создается папка <tt>.git</tt> с метаданными в папке, выбранной на соответствующем шаге мастера.</li>
</ol>
<a name="github"></a>
<h3>Клонирование репозитория Git из GitHub с использованием протокола SSH</h3>
<p>Для клонирования репозитория Git из GitHub с использованием протокола SSH выполните следующие действия.</p>
<p class="notes"><b>Примечание.</b> Требуется учетная запись GitHub и пользователь должен быть и быть участником проекта для того, чтобы клонировать через SSH.</p>
<ol>
<li>В главном меню выберите <tt>Группа</tt> &gt; <tt>Git</tt> &gt; <tt>Клонировать</tt>. Отображается мастер клонирования репозитория.</li>
<li>На странице &quot;Удаленный репозиторий&quot; мастера клонирования репозиториев укажите путь к требуемому репозиторию в поле &quot;URL-адрес репозитория&quot;, например <tt>git@github.com:tstupka/koliba.git</tt>.</li>
<li>Убедитесь, что в текстовом поле &quot;Имя пользователя&quot; указано <tt>git</tt>.</li>
<li>Выберите вариант ключа — закрытый или открытый.
<p class="notes"><b>Примечание.</b> Требуется формат закрытого ключа OpenSSH. Ключи, созданные PuTTYgen для Microsoft Windows, должны быть преобразованы в формат OpenSSH перед использованием их в IDE.</p>
</li>
<li>Укажите путь к файлу ключей, например <tt>C:\Users\key</tt>.</li>
<li>Введите парольную фразу для файла ключей, например <tt>abcd</tt>.</li>
<li>(Не обязательно) Если требуется, установите флажок &quot;Сохранить парольную фразу&quot;.</li>
<li>(Не обязательно) Щелкните &quot;Настройка прокси&quot; для отображения диалогового окна &quot;Параметры&quot; и установите настройки сервера прокси. По завершении нажмите кнопку &quot;ОК&quot;.
<p class="align-center">
<a href="../../../images_www/articles/73/ide/git/github-repo.png" rel="lytebox" title="Страница 'Удаленный репозиторий' мастера клонирования репозиториев"> <img alt="Страница 'Удаленный репозиторий' мастера клонирования репозиториев" border="1/" src="../../../images_www/articles/73/ide/git/github-repo-small.png"></a></p></li></li>
<li>Нажмите кнопку &quot;Далее&quot;.</li>
<li>На странице &quot;Удаленные ветви&quot; выберите ветвь(и) репозитория, которую(ые) требуется загрузить (или из которых надо загрузить изменения) в локальный репозиторий, например <tt>master</tt>.
<p class="align-center">
<a href="../../../images_www/articles/73/ide/git/github-branches.png" rel="lytebox" title="Страница 'Удаленные ветви' мастера клонирования репозиториев"> <img alt="Страница 'Удаленные ветви' мастера клонирования репозиториев" border="1/" src="../../../images_www/articles/73/ide/git/github-branches-small.png"></a></p></li>
<li>Нажмите кнопку &quot;Далее&quot;.</li>
<li>На странице &quot;Целевой каталог&quot; укажите следующие данные.
<ul>
<li>В поле &quot;Родительский каталог&quot; введите путь к каталогу на жестком диске, выбранному для размещения клонированного репозитория (или нажмите кнопку &quot;Обзор&quot; и выберите требуемый каталог).<br /> В поле &quot;Родительский каталог&quot; выводится путь к каталогу по умолчанию <tt>NetBeansProjects</tt>, в котором хранятся все проекты NetBeans.</li>
<li>В поле &quot;Имя клона&quot; введите имя локальной папки, в которой требуется создать клон исходного проекта.<br /> По умолчанию в поле &quot;Имя клона&quot; выводится имя текущего репозитория Git. </li>
<li>В поле &quot;Извлечение ветви&quot; выберите ветвь, которую требуется извлечь в рабочее дерево.</li>
<li>В поле &quot;Удаленное имя&quot; введите имя исходного клонируемого репозитория.<br /> По умолчанию для клонируемого репозитория используется псевдоним <tt>origin</tt>. Рекомендуется использовать это значение.</li>
<li>Оставьте установленным флажок &quot;Поиск проектов Netbeans после клонирования&quot;, чтобы поиск проектов выполнялся непосредственно после окончания клонирования. (Этот подключаемый модуль выполняет поиск проектов NetBeans в клонированных ресурсах и предлагает открыть обнаруженные проекты.)
<p class="align-center">
<a href="../../../images_www/articles/73/ide/git/github-destination.png" rel="lytebox" title="Каталог назначения мастера клонирования репозиториев"> <img alt="Каталог назначения мастера клонирования репозиториев" border="1/" src="../../../images_www/articles/73/ide/git/github-destination-small.png"></a></p></li>
</ul> </li>
<li>Нажмите кнопку &quot;Завершить&quot;.<br /> По завершении клонирования репозитория отображается сообщение &quot;Клонирование завершено&quot;.
<p class="align-center"><img alt="Сообщение 'Клонирование завершено'" class="b-all" src="../../../images_www/articles/73/ide/git/clone-completed.png" /></p></li>
<li>Выберите требуемый параметр.</li>
</ol>
</div>
<div><a name="add"></a>
<h2>Добавление файлов в репозиторий Git</h2>
<a name="ide"></a> Для запуска отслеживания нового файла, а также для помещения на подготовку изменений файла, уже отслеживаемого в репозитории Git, необходимо его добавить в репозиторий. </p>
<p>При добавлении файлов в репозиторий Git в среде IDE сначала формируются и сохраняются в индексе моментальные снимки проекта. После выполнения фиксации среда IDE сохраняет эти моментальные снимки в HEAD. Среда IDE дает возможность выбрать одну из последовательностей действий, описанных в следующей таблице. </p>
<table width="800px">
<tr>
<th class="tblheader" scope="col" style="width:100px">Описание последовательности действий</th>
<td class="tbltd1">
Явным образом добавьте новые или измененные файлы в индекс, после чего выполните фиксацию в HEAD только тех файлов, которые помещены в индекс для подготовки.
</td>
<td class="tbltd1">Пропустите добавление новых или измененных файлов в индекс и выполните фиксацию требуемых файлов непосредственно в HEAD.
</td>
</tr>
<tr>
<th class="tblheader" scope="col">Шаги по выполнению выбранной последовательности действий </th>
<td class="tbltd1">
<ol>
<li>В окне 'Проекты' щелкните правой кнопкой мыши файл, который необходимо добавить.</li>
<li>В контекстном меню выберите <tt>Git</tt> &gt; <tt>Добавить</tt>.<br /> Содержимое файла добавляется в индекс перед выполнением фиксации. </li>
<li>В окне 'Проекты' щелкните правой кнопкой мыши файл, который необходимо зафиксировать.</li>
<li>В диалоговом окне 'Фикировать' выберите кнопку переключения взаимных изменений между HEAD и индексом ( <img alt="Значок 'Взаимные изменения в HEAD и индексе'" src="../../../images_www/articles/73/ide/git/changes-head-index.png" /> ).<br /> Отобразится список файлов, уже помещенных на подготовку. </li>
<li>Выполните фиксацию файлов, как описано ниже в разделе <a href="#committing">Фиксация исходных кодов в репозитории</a>.</li>
</ol> </td>
<td class="tbltd1">
<ol>
<li>В окне 'Проекты' щелкните правой кнопкой мыши файл, который необходимо зафиксировать.</li>
<li>В контекстном меню выберите <tt>Git</tt> &gt; <tt>Зафиксировать</tt>. </li>
<li>В диалоговом окне 'Фикировать' выберите кнопку переключения 'Выбрать изменения' для взаимных изменений между индексом и рабочим деревом ( <img alt="Значок 'Взаимные изменения в HEAD и рабочем дереве'" src="../../../images_www/articles/73/ide/git/changes-head-wt.png" /> ). <br /> Отобразится список файлов, еще не помещенных на подготовку. </li>
<li>Выполните фиксацию файлов, как описано ниже в разделе <a href="#committing">Фиксация исходных кодов в репозитории</a>.</li>
</ol>
</td>
</tr>
</table>
<p class="notes"><b>Примечание.</b> <a href="#viewFileStatus">Состояние</a> файла в HEAD отображается зеленым цветом слева от косой черты, как показано на следующем рисунке. </p>
<p class="align-center"><img alt="Новое в промежуточной области" border="1/" src="../../../images_www/articles/73/ide/git/new.png"></p>
<p>Это действие выполняется рекурсивно при вызове в папках при соблюдении структуры содержимого неструктурированных файлов IDE NetBeans. </p>
</div>
<div>
<a name="editing"></a>
<h2>Редактирование файлов</h2>
<p>После открытия в среде IDE проекта с контролем версий посредством системы Git, можно приступать к внесению изменений в исходные коды. Аналогично любому проекту, открытому в IDE NetBeans, можно открывать файлы в редакторе исходного кода двойным щелчком на их узлы при их отображении в окнах IDE (пример: проекты (Ctrl-1), файлы (Ctrl-2), Избранное (Ctrl-3 в Windows).</p>
<p>При работе с исходными файлами в среде IDE пользователь получает доступ к различным компонентам пользовательского интерфейса, облегчающими просмотр и использование следующих команд контроля версий.</p>
<ul>
<li><a href="#viewChanges">Просмотр изменений в редакторе исходного кода</a></li>
<li><a href="#viewFileStatus">Просмотр информации о состоянии файла</a></li>
<li><a href="#revert">Откат изменений</a></li>
</ul>
<a name="viewChanges"></a>
<h3>Просмотр изменений в редакторе исходного кода</h3>
<p>Если файл с контролем версий открыт в среде IDE в редакторе исходного кода, то при внесении в файл изменений можно в режиме реального времени сравнивать файл с его основной версией, находящейся в репозитории Git. В процессе работы в среде IDE используется цветовое выделение на полях редактора исходного кода. Различные цвета соответствуют следующей информации.</p>
<table class="cell">
<tr>
<td class="align-right cell"><strong>Синий</strong> ( <span style="background-color:#b8cfe5">     </span> )</td>
<td>Обозначает строки, измененные по сравнению с более ранней версией.</td>
</tr>
<tr>
<td class="align-right cell"><strong>Зеленый</strong> ( <span style="background-color:#b4ffb4">     </span> )</td>
<td>Обозначает строки, добавленные к более ранней версии.</td>
</tr>
<tr>
<td class="align-right cell"><strong>Красный</strong> ( <span style="background-color:#ffa0b4">     </span> )</td>
<td>Обозначает строки, удаленные по сравнению с более ранней версией.</td>
</tr>
</table>
<p>В левом поле редактора исходного кода отображаются изменения для каждой отдельной строки. При изменении определенной строки изменения немедленно показываются в левом поле.</p>
<p class="align-center"><img alt="Левое поле" border="1/" src="../../../images_www/articles/73/ide/git/left-margin.png"></p>
<p class="notes"><b>Примечание.</b> Можно щелкнуть группировку цветов на полях для вызова команд управления версиями. Например, ниже на рисунке показаны элементы оформления, доступ к которым можно получить, щелкнув красный значок, который указывает на то, что соответствующие строки были удалены из локальной копии.</p>
<p class="align-center"><img alt="Доступные виджеты" border="1/" src="../../../images_www/articles/73/ide/git/left-widgets.png"></p>
<p>На правом поле редактора исходного кода предоставлен обзор изменений, внесенных в файл в целом, сверху донизу. Цветовое выделение отображается незамедлительно после внесения изменений в файл. </p>
<p class="align-center"><img alt="Правое поле" border="1/" src="../../../images_www/articles/73/ide/git/right-margin.png"></p>
<p class="notes"><b>Примечание.</b> Щелкнув некоторую точку в пределах поля, можно незамедлительно перевести внутристрочный курсор в соответствующее местоположение в файле. Для просмотра числа затронутых строк наведите мышь на цветные значки в правом поле:</p>
<p class="align-center"><img alt="Доступные виджеты" border="1/" src="../../../images_www/articles/73/ide/git/right-lines-number.png"></p>
<a name="viewFileStatus"></a>
<h3>Просмотр информации о состоянии файла</h3>
<p>При работе в представлениях &quot;Проекты&quot; (Ctrl-1), &quot;Файлы&quot; (Ctrl-2), &quot;Избранное&quot; (Ctrl-3), или &quot;Контроль версий&quot;, среда IDE предоставляет несколько функций визуализации, облегчающих просмотр информации о состоянии файлов. В примере, приведенном ниже, обратите внимание, как метка (например, <img alt="Синяя метка" src="../../../images_www/articles/73/ide/git/blue-badge.png" />)цвет имени файла и смежная метка состояния соответствуют друг другу для предоставления для пользователей простого и эффективного способа отслеживания данных об изменениях версий файлов:
</p>
<p class="align-center"><img alt="Сведения о состоянии файлов" class="b-all" src="../../../images_www/articles/73/ide/git/file-status.png" /></p>
<p>Все эти компоненты — метки, цветовое выделение, ярлыки состояния файлов и средство Git для просмотра различий (Git Diff Viewer — возможно, наиболее важный компонент) — вместе обеспечивают возможность эффективного просмотра информации о версиях и управления этой информацией в среде IDE.</p>
<ul>
<li><a href="#badges">Метки и условные цвета</a></li>
<li><a href="#fileStatus">Ярлыки состояния файлов</a></li>
<li><a href="#versioningView">Представление Git &quot;Контроль версий&quot;</a></li>
</ul>
<a name="badges"></a>
<h4>Метки и условные цвета</h4>
<p>Метки относятся к узлам проектов, папок и пакетов. Они сообщают о состоянии файлов внутри соответствующего узла:</p>
<p>Ниже в таблице приведена цветовая схема, используемая для меток.</p>
<a name="badges-color-scheme"></a>
<table width="600px">
<tr>
<th class="tblheader" scope="col" style="width:110px">Элемент пользовательского интерфейса</th>
<th class="tblheader" scope="col">Описание</th>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>Синяя метка</strong> (<img alt="Синяя метка" src="../../../images_www/articles/73/ide/git/blue-badge.png" />)</td>
<td class="tbltd1">Указывает на присутствие в рабочем дереве файлов, которые были изменены, добавлены или удалены. Касательно пакетов, данная метка относится только к самому пакету, но не к его подпакетам. Что касается проектов и папок, метка указывает на изменения как внутри самого элемента, так и внутри любых его подпапок.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>Красная метка</strong> (<img alt="Красная метка" src="../../../images_www/articles/73/ide/git/red-badge.png" />)</td>
<td class="tbltd1">Отмечает проекты, папки или пакеты, содержащие <em>конфликтующие</em> файлы. Касательно пакетов, данная метка относится только к самому пакету, но не к его подпакетам. Для проектов и папок метка обозначает конфликты этого элемента и всех содержащихся подпапок.</td>
</tr>
</table>
<a name="color-coding-table"></a>
<p>Цветовое обозначение применяется к именам файлов для обозначения их текущего состояния по сравнению с репозиторием:</p>
<table width="600px">
<tr>
<th class="tblheader" scope="col" style="width:40px">Цвет</th>
<th class="tblheader" scope="col">Пример</th>
<th class="tblheader" scope="col">Описание</th>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>Без специального цвета (черный)</strong></td>
<td class="tbltd1"><img alt="Текст, выделенный черным" src="../../../images_www/articles/73/ide/git/black-text.png" /></td>
<td class="tbltd1">Указывает на отсутствие изменений в файле.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>Синий</strong></td>
<td class="tbltd1"><img alt="Текст, выделенный синим" src="../../../images_www/articles/73/ide/git/blue-text.png" /></td>
<td class="tbltd1">Обозначает локально измененный файл.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>Зеленый</strong></td>
<td class="tbltd1"><img alt="Текст, выделенный зеленым" src="../../../images_www/articles/73/ide/git/green-text.png" /></td>
<td class="tbltd1">Обозначает локально добавленный файл.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>Красный</strong></td>
<td class="tbltd1"><img alt="Текст, выделенный красным" src="../../../images_www/articles/73/ide/git/red-text.png" /></td>
<td class="tbltd1">Указывает на то, что файл вовлечен в конфликт слияния.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>Серый</strong></td>
<td class="tbltd1"><img alt="Текст, выделенный серым" src="../../../images_www/articles/73/ide/git/gray-text.png" /></td>
<td class="tbltd1">Указывает на то, что файл игнорируется системой Git и не будет включен в команды контроля версий (например, &quot;Обновить&quot; и &quot;Зафиксировать&quot;). Файлы, стоящие под контролем версий, игнорировать невозможно.</td>
</tr>
</table>
<a name="fileStatus"></a>
<h4>Ярлыки состояния файлов</h4>
<p>В среде IDE отображаются следующие два возможных состояния файла.</p>
<ul>
<li>Состояние, описывающее различия между состоянием файлов в рабочем дереве и в индексе.</li>
<li>Состояние, описывающее различия между состоянием файлов в индексе и текущей фиксацией в HEAD.</li>
</ul>
<p>Ярлыки состояния файлов предоставляют текстовое описание состояния файлов с контролем версий в окнах среды IDE.</p>
<table width="300px">
<tr>
<th class="tblheader" scope="col" style="width:90px">Ярлык состояния</th>
<th class="tblheader" scope="col">Значение</th>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>-</strong></td>
<td class="tbltd1 align-center">Неизмененный</td>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>Ответ</strong></td>
<td class="tbltd1 align-center">Добавлено</td>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>U</strong></td>
<td class="tbltd1 align-center">Обновленный, но не подвергавшийся слиянию</td>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>M</strong></td>
<td class="tbltd1 align-center">Изменено</td>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>D</strong></td>
<td class="tbltd1 align-center">Удален</td>
</tr>
<tr>
<td class="tbltd1 align-center"><strong>I</strong></td>
<td class="tbltd1 align-center">Игнорируется</td>
</tr>
<tr>
<td class="tbltd1 align-center" style="width:120px"><strong>R</strong></td>
<td class="tbltd1 align-center">Переименовано</td>
</tr>
</table>
<p>По умолчанию в окнах среды IDE состояние (новый, измененный, игнорируется и т.п.) и информация о папке отображаются в сером цвете справа от файлов, представленных в виде списка. </p>
<p class="align-center"> <img alt="Метки файлов, отображаемые рядом с именами файлов" class="b-all margin-around" src="../../../images_www/articles/73/ide/git/file-labels.png" /></p>
<p>Файлы, вовлеченные в конфликт слияния, характеризуются как не подвергавшиеся слиянию — как правило, это отмечается красным цветом до тех пор, пока конфликт файлов не будет разрешен в результате явного действия пользователя. Ярлык состояния файлов, не подвергавшихся слиянию, зависит от конкретной ситуации (например, <tt>A/A</tt> - не подвергавшиеся слиянию, оба добавлены).</p>
<p class="tips">Можно включить или отключить отображение ярлыков состояний файлов, выбрав <tt>Вид</tt> &gt; <tt>Показать ярлыки контроля версий</tt> в главном меню.</p>
<a name="versioningView"></a>
<h4>Представление Git &quot;Контроль версий&quot;</h4>
<p>Представление Git &quot;Контроль версий&quot; дает возможность просматривать в режиме реального времени список всех изменений, внесенных в файлы конкретной папки локального рабочего дерева. По умолчанию оно открывается в нижней панели среды IDE, и в нем перечислены добавленные, удаленные и измененные файлы.</p>
<p>Чтобы открыть окно контроля версий, выберите версию файла или папку (например, из окна 'Проекты', 'Файлы' или 'Избранное') и либо выберите <tt>Git</tt> > <tt>Показать изменения</tt> в контекстном меню или выберите <tt>Группа</tt> > <tt>Git</tt> > <tt>Показать изменения</tt> в главном меню. В нижней панели среды IDE откроется следующее окно:
</p>
<p class="align-center">
<a href="../../../images_www/articles/73/ide/git/versioning-view.png" rel="lytebox" title="Представление управления версиями, в котором отображаются взаимные изменения в HEAD и рабочем дереве"> <img alt="Представление управления версиями, в котором отображаются взаимные изменения в HEAD и рабочем дереве" border="1/" src="../../../images_www/articles/73/ide/git/versioning-view-small.png"></a></p>
<p>По умолчанию в представлении &quot;Контроль версий&quot; отображается список всех измененных файлов, содержащихся в выбранном пакете или папке рабочего дерева. С помощью кнопок панели инструментов можно выбрать для отображения список файлов, для которых имеются различия между индексом и HEAD, рабочим деревом и индексом или рабочим деревом и HEAD. Также можно щелкнуть заголовки столбцов над перечисленными файлами, чтобы отсортировать их по имени, состоянию или местоположению.</p>
<p>Панель инструментов представления &quot;Контроль версий&quot; содержит также кнопки, позволяющие вызывать стандартные задачи для всех файлов, отображенных в списке. В следующей таблице приведены команды Git, которые можно вызвать с панели инструментов представления &quot;Контроль версий&quot;.</p>
<table width="600px">
<tr>
<th class="tblheader" scope="col">Значок</th>
<th class="tblheader" scope="col" style="width:110px">Имя</th>
<th class="tblheader" scope="col">Функция</th>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Взаимные изменения в HEAD и рабочем дереве'" src="../../../images_www/articles/73/ide/git/changes-head-wt.png" /></td>
<td class="tbltd1 align-center"><strong>Взаимные изменения в HEAD и рабочем дереве</strong></td>
<td class="tbltd1">Отображается список файлов, уже помещенных на подготовку, или только измененных/созданных, но еще не помещенных на подготовку.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Взаимные изменения в HEAD и индексе'" src="../../../images_www/articles/73/ide/git/changes-head-index.png" /></td>
<td class="tbltd1 align-center"><strong>Взаимные изменения в HEAD и указателе</strong></td>
<td class="tbltd1">Отображается список файлов, помещенных на подготовку.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Взаимные изменения в индексе и рабочем дереве'" src="../../../images_www/articles/73/ide/git/changes-index-wt.png" /></td>
<td class="tbltd1 align-center"><strong>Взаимные изменения в индексе и рабочем дереве</strong></td>
<td class="tbltd1">Отображаются файлы, у которых есть различия между состоянием версии, помещенной на подготовку, и состоянием в рабочем дереве.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Обновить состояния'" src="../../../images_www/articles/73/ide/git/refresh.png" /></td>
<td class="tbltd1 align-center"><strong>Обновить состояния</strong></td>
<td class="tbltd1">Обновление состояния всех выбранных файлов и папок. При обновлении файлов, отображенных в представлении &quot;Контроль версий&quot;, отражаются все изменения, которые могли быть сделаны извне.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Открыть различия'" src="../../../images_www/articles/73/ide/git/open-diff.png" /></td>
<td class="tbltd1 align-center"><strong>Открыть окно с различиями</strong></td>
<td class="tbltd1">Открытие представления различий, предоставляющее параллельное сравнение локальных копий и версий в репозитории.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Путь возврата из использования'" src="../../../images_www/articles/73/ide/git/update.png" /></td>
<td class="tbltd1 align-center"><strong>Откат изменений</strong></td>
<td class="tbltd1">Отображается диалоговое окно <a href="#revertdialog">Откат изменений</a> .</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="значок 'Фиксировать изменения'" src="../../../images_www/articles/73/ide/git/commit-button.png" /></td>
<td class="tbltd1 align-center"><strong>Фиксация изменений</strong></td>
<td class="tbltd1">Отображается диалоговое окно <a href="#commitdialog">Зафиксировать</a>.</td>
</tr>
</table>
<p>Для доступа к другим командам Git в представлении контроля версий необходимо выбрать строку таблицы, соответствующую измененному файлу, а затем выбрать команду в контекстом меню:</p>
<p class="align-center">
<a href="../../../images_www/articles/73/ide/git/versioning-right-click.png" rel="lytebox" title="Контекстное меню отображается для выбранного файла в окне 'Управление версиями'"> <img alt="Контекстное меню отображается для выбранного файла в окне 'Управление версиями'" border="1/" src="../../../images_www/articles/73/ide/git/versioning-right-click-small.png"></a></p>
<a name="diff"></a>
<h3>Сравнение редакций файлов</h3>
<p>Сравнение версий файлов &ndash; обычная задача при работе над проектами под контролем версий. В среде IDE сравнение редакций выполняется с помощью команды Diff.</p>
<ol>
<li>Выберите файл или папку с контролем версий (например, в окне <tt>Проекты</tt>, <tt>Файлы</tt> или <tt>Избранное</tt>).</li>
<li>В главном меню выберите <tt>Группа</tt> &gt; <tt>Diff</tt>.<br /> В главном окне среды IDE открывается окно графического представления различий для выбранных файлов и редакций. В средстве просмотра различий отображаются две копии на параллельных панелях. Более новая копия отображается справа, поэтому, если выполняется сравнение редакции из репозитория с рабочим деревом, рабочее дерево отображается на правой панели.
<p class="align-center"><a href="../../../images_www/articles/73/ide/git/diff-viewer.png" rel="lytebox" title="Средство просмотра различий"> <img alt="Средство просмотра различий" border="1/" src="../../../images_www/articles/73/ide/git/diff-viewer-small.png"></a></p>
<p>В программе просмотра различий используется такое же <a href="#color-coding-table">цветовое выделение</a>, которое используется для отображения изменений другими компонентами системы контроля версий. На снимке экрана выше зеленый блок обозначает содержание, добавленное к последней редакции. Красный блок указывает, что содержание из ранней редакции было позднее удалено. Синий указывает, что в выделенных строках произошли изменения.</p></li>
</ol>
<p>Панель инструментов программы просмотра различий содержит также кнопки, позволяющие вызывать стандартные задачи Git для всех файлов, отображенных в списке. В следующей таблице приведены команды Git, которые можно вызвать с панели инструментов программы просмотра различий.</p>
<table width="600px">
<tr>
<th class="tblheader" scope="col">Значок</th>
<th class="tblheader" scope="col" style="width:130px">Имя</th>
<th class="tblheader" scope="col">Функция</th>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Взаимные изменения в HEAD и рабочем дереве'" src="../../../images_www/articles/73/ide/git/changes-head-wt.png" /></td>
<td class="tbltd1 align-center"><strong>Взаимные изменения в HEAD и рабочем дереве</strong></td>
<td class="tbltd1">Отображается список файлов, уже помещенных на подготовку, или только измененных/созданных, но еще не помещенных на подготовку.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Взаимные изменения в HEAD и индексе'" src="../../../images_www/articles/73/ide/git/changes-head-index.png" /></td>
<td class="tbltd1 align-center"><strong>Взаимные изменения в HEAD и указателе</strong></td>
<td class="tbltd1">Отображается список файлов, помещенных на подготовку.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Взаимные изменения в индексе и рабочем дереве'" src="../../../images_www/articles/73/ide/git/changes-index-wt.png" /></td>
<td class="tbltd1 align-center"><strong>Взаимные изменения в индексе и рабочем дереве</strong></td>
<td class="tbltd1">Отображаются файлы, у которых есть различия между состоянием версии, помещенной на подготовку, и состоянием в рабочем дереве. </td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="значок 'Перейти к следующему различию'" src="../../../images_www/articles/73/ide/git/nextdiff.png" /></td>
<td class="tbltd1 align-center"><strong>Перейти к следующему отличию</strong></td>
<td class="tbltd1">Отображается следующее отличие в файле.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="значок 'Перейти к предыдущему различию'" src="../../../images_www/articles/73/ide/git/prevdiff.png" /></td>
<td class="tbltd1 align-center"><strong>Перейти к предыдущему отличию</strong></td>
<td class="tbltd1">Отображается предыдущее отличие в файле.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Обновить состояния'" src="../../../images_www/articles/73/ide/git/refresh.png" /></td>
<td class="tbltd1 align-center"><strong>Обновить состояния</strong></td>
<td class="tbltd1">Обновление состояния всех выбранных файлов и папок. Файлы, отображаемые в окне контроля версий, можно обновить для отражения любых изменений, внесенных извне.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Пути возврата из использования'" src="../../../images_www/articles/73/ide/git/update.png" /></td>
<td class="tbltd1 align-center"><strong>Откат изменений</strong></td>
<td class="tbltd1">Отображается диалоговое окно <a href="#revertdialog">Откат изменений</a> .</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="значок 'Фиксировать изменения'" src="../../../images_www/articles/73/ide/git/commit-button.png" /></td>
<td class="tbltd1 align-center"><strong>Фиксация изменений</strong></td>
<td class="tbltd1">Отображается диалоговое окно <a href="#commitdialog">Зафиксировать</a>.</td>
</tr>
</table>
<p>Если выполняется просмотр различий для локальной копии в рабочем дереве, среда IDE дает возможность внести изменения непосредственно из программы просмотра различий. Чтобы сделать это, поместите свой курсор внутри правой панели просмотра различий и измените свой файл соответственно, либо используйте значки, отображающиеся в строке рядом с каждым выделенным изменением:</p>
<table width="600px">
<tr>
<th class="tblheader" scope="col">Значок</th>
<th class="tblheader" scope="col" style="width:60px">Имя</th>
<th class="tblheader" scope="col">Функция</th>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Заменить'" src="../../../images_www/articles/73/ide/git/insert.png" /></td>
<td class="tbltd1 align-center" style="width:80px"><strong>Заменить</strong></td>
<td class="tbltd1">Выделенный текст вставляется в копию из рабочего дерева.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Переместить все'" src="../../../images_www/articles/73/ide/git/arrow.png" /></td>
<td class="tbltd1 align-center" style="width:120px"><strong>Переместить все</strong> </td>
<td class="tbltd1">Выполняется откат всей локальной копии из рабочего дерева.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Значок 'Удалить'" src="../../../images_www/articles/73/ide/git/remove.png" /></td>
<td class="tbltd1 align-center" style="width:120px"><strong>Удалить </strong></td>
<td class="tbltd1">Выделенный текст удаляется из локальной копии в рабочем дереве.</td>
</tr>
</table>
<a name="revert"></a>
<h3>Откат изменений</h3>
<p>Для отсеивания локальных изменений, внесенных в выбранные файлы из рабочего дерева, и замены этих файлов файлами из индекса или HEAD выполните следующие действия.</p>
<ol>
<li>Выберите файл или папку с контролем версий (например, в окне <tt>Проекты</tt>, <tt>Файлы</tt> или <tt>Избранное</tt>).</li>
<li>В главном меню выберите <tt>Группа</tt> &gt; <tt>Откатить изменения</tt>.<br /> Откроется диалоговое окно <a name="revertdialog"></a><tt>Откат изменений</tt>.
<p class="align-center"><img alt="Диалоговое окно 'Откат изменений'" class="b-none margin-around" src="../../../images_www/articles/73/ide/git/revert.png" /></p></li>
<li><a name="three"></a>Укажите дополнительные параметры (например, <tt>Откатить в индексе только изменения, незафиксированные в HEAD</tt>) . </li>
<li>Щелкните &quot;Откатить&quot;.</li>
</ol>
<p>Среда IDE заменяет выбранные файлы теми, которые указаны выше в <a href="#three">шаге 3</a>.</p>
</div>
<div>
<a name="committing"></a>
<h2>Фиксация исходных файлов в репозитории</h2>
<p>Для фиксации файлов в репозитории Git выполните следующие действия.</p>
<ol>
<li>В окне <tt>Проекты</tt> щелкните правой кнопкой мыши файлы, которые необходимо фиксировать.</li>
<li>В контекстном меню выберите <tt>Git</tt> &gt; <tt>Зафиксировать</tt>.
<p><a name="commitdialog"></a>Открывается диалоговое окно <tt>Фиксация</tt>.</p>
<p class="align-center">
<a href="../../../images_www/articles/73/ide/git/commit.png" rel="lytebox" title="Диалоговое окно 'Фиксация'"> <img alt="Диалоговое окно 'Фиксация'" border="1/" src="../../../images_www/articles/73/ide/git/commit-small.png"></a>
</p>
<p>Диалоговое окно <tt>Фиксация</tt> состоит из следующих компонентов.</p>
<ul>
<li>Текстовая область <tt>Сообщение о фиксации</tt> предназначена для описания фиксируемого изменения.</li>
<li>Раскрывающиеся списки <tt>Автор</tt> и <tt>Исполнитель</tt>, которые в случае необходимости позволяют выяснить, кто внес изменение и кто физически выполнил фиксацию файла.</li>
<li>Раздел <tt>Файлы для фиксации</tt>, в котором перечислены следующие файлы:
<ul>
<li>все измененные файлы; </li>
<li>все файлы, которые были удалены из рабочего дерева (локально); </li>
<li>все новые файлы (т.е. файлы, еще не представленные в репозитории Git);</li>
<li>все файлы, которые были переименованы.
<p>Здесь же имеются две кнопки-переключателя, осуществляющие переключение на режим, в котором следует выполнить фиксацию. </p>
<table width="700px">
<tr>
<th class="tblheader" scope="col" >Элемент пользовательского интерфейса</th>
<th class="tblheader" scope="col" style="width:300px">Имя</th>
<th class="tblheader" scope="col">Описание</th>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Взаимные изменения в HEAD и индексе" src="../../../images_www/articles/73/ide/git/changes-head-index.png" /></td>
<td class="tbltd1 align-center"><strong>Взаимные изменения в HEAD и указателе</strong></td>
<td class="tbltd1">Отображается список файлов, помещенных на подготовку.</td>
</tr>
<tr>
<td class="tbltd1 align-center"><img alt="Взаимные изменения в HEAD и рабочем дереве" src="../../../images_www/articles/73/ide/git/changes-head-wt.png" /> </td>
<td class="tbltd1 align-center"><strong>Взаимные изменения в HEAD и рабочем дереве</strong></td>
<td class="tbltd1">Отображается список файлов, уже помещенных на подготовку, или только измененных/созданных, но еще не помещенных на подготовку.</td>
</tr>
</table></li>
</ul>
<p class="notes"><b>Примечание.</b> Чтобы указать здесь, следует ли исключать отдельные файлы из фиксации, либо снимите флажок в первом столбце с именем <tt>Фиксация</tt> или щелкните правой кнопкой мыши строку файла в столбце <tt>Действие фиксации</tt> и выберите <tt>Исключить из фиксации</tt> во всплывающем меню. Для отображения средства просмотра различий щелкните правой кнопкой мыши строку файла в столбце <tt>Действие фиксации</tt> и выберите <tt>Различия</tt> во всплывающем меню.</p></li>
<li>Раздел <tt>Обновить проблему</tt> предназначен для отслеживания проблем, связанных с фиксируемым изменением.
<p class="notes"><b>Примечание.</b> Для запуска в среде IDE режима отслеживания проблем требуется установить подключаемый модуль для JIRA или Subversion.</p></li>
</ul></li>
<li>Введите сообщение о фиксации в текстовую область <tt>Сообщение о фиксации</tt>. Можно также выполнить любое из следующих действий.
<ul><li>щелкните значок <tt>Последние сообщения</tt> ( <img alt="Значок 'Последние сообщения'" src="../../../images_www/articles/73/ide/git/recent-msgs.png" /> ), расположенный в правом верхнем углу, чтобы просмотреть и выбрать необходимое из ранее использованного списка сообщений.</li>
<li>щелкните значок <tt>Загрузить шаблон</tt> ( <img alt="Щелкните значок шаблона" src="../../../images_www/articles/73/ide/git/msg-template.png" /> ), расположенный в правом верхнем углу, чтобы выбрать шаблон сообщения.</li>
</ul>
</li>
<li>Назначив действия для конкретных файлов, щелкните <tt>Зафиксировать</tt>. <br />Среда IDE выполнит фиксацию и сохранит моментальные снимки в репозитории. В строке состояния IDE, расположенной в правой нижней части интерфейса, отображается выполнение действия фиксации. После успешного завершения фиксации в окнах <tt>Проекты</tt>,<tt>Файлы</tt>и <tt>Избранное</tt> исчезают метки контроля версий и цветовое выделение фиксируемых файлов.</li>
</ol>
</div>
<div>
<a name="branch"></a>
<h2>Работа с ветвями</h2>
<p>Поскольку среда IDE поддерживает систему Git, появляется возможность использования ветвей для ведения различных версий всей базы кода. </p>
<p>При работе с ветвями в среде IDE поддерживаются следующие действия.</p>
<ul>
<li><a href="#branchCreate">Создание</a></li>
<li><a href="#branchCheckOut">Извлечение</a></li>
<li><a href="#branchMerge">Слияние</a></li>
<li><a href="#branchDelete">Удаление</a></li>
</ul>
<a name="branchCreate"></a>
<h3>Создание ветви</h3>
<p>Чтобы, не оказывая влияния на основную ветвь, работать с отдельной версией своей файловой системы с целью стабилизации или экспериментирования, создайте локальную ветвь, выполнив для этого следующие действия.</p>
<ol>
<li>В окне &quot;Проекты&quot; или &quot;Файлы&quot; выберите из репозитория проект или папку, в которой требуется создать ветвь.</li>
<li>В главном меню выберите &quot;Группа &gt; Git &gt; Ветвь &gt; Создать ветвь&quot;.
<p class="notes"><b>Примечание.</b> В качестве альтернативы щелкните правой кнопкой мыши проект, управление версиями которого осуществляется, или папке и выберите 'Git'> 'Ветвь' > 'Создать ветвь' во всплывающем меню.</p>
Откроется диалоговое окно &quot;Создать ветвь&quot;.
<p class="align-center">
<a href="../../../images_www/articles/73/ide/git/create-branch.png" rel="lytebox" title="Диалоговое окно создания ветви"> <img alt="Диалоговое окно создания ветви" border="1/" src="../../../images_www/articles/73/ide/git/create-branch-small.png"></a></p>
</li>
<li>В поле &quot;Имя ветви&quot; введите имя создаваемой ветви.</li>
<li>Введите конкретную редакцию выбранного элемента. Для этого введите в поле &quot;Редакция&quot; идентификатор фиксации, существующую ветвь или имя тега, или нажмите кнопку &quot;Выбрать&quot; для просмотра списка редакций, обслуживаемых в репозитории.</li>
<li>(Не обязательно) В диалоговом окне &quot;Выбор редакции&quot; раскройте &quot;Ветви&quot; и выберите требуемую ветвь; укажите идентификатор фиксации в соседнем списке и нажмите кнопку &quot;Выбрать&quot;.</li>
<li>В полях &quot;Идентификатор фиксации&quot;, &quot;Автор&quot;, &quot;Сообщение&quot; просмотрите информацию, относящуюся к редакции, для которой создается ветвь, и щелкните &quot;Создать&quot;.<br /> Ветвь добавится в папку <tt>Ветви/Локальные</tt> репозитория Git.
<p class="align-center">
<a href="../../../images_www/articles/73/ide/git/branch-added.png" rel="lytebox" title="Репозиторий Git:: создана новая ветвь"> <img alt="Ветвь добавлена" border="1/" src="../../../images_www/articles/73/ide/git/branch-added-small.png"></a></p></li>
</ol>
<a name="branchCheckOut"></a>
<h3>Извлечение </h3>
<p>Если требуется редактировать файлы в уже существующей ветви, можно извлечь ветвь для создания копий файлов в рабочем дереве.</p>
<p>Для извлечения редакции выполните следующие действия. </p>
<ol>
<li>В главном меню выберите &quot;Группа &gt; Git &gt; Извлечь &gt; Извлечь редакцию&quot;. <br />Отобразится диалоговое окно &quot;Извлечение выбранной редакции&quot;.
<p class="align-center"><a href="../../../images_www/articles/73/ide/git/chkout-rev.png" rel="lytebox" title="Получение выбранной редакции"> <img alt="Получение выбранной редакции" border="1/" src="../../../images_www/articles/73/ide/git/chkout-rev-small.png"></a></p></li>
<li>Чтобы указать требуемую редакцию, введите в поле &quot;Редакция&quot; идентификатор фиксации, существующую ветвь или имя тега, или же нажмите кнопку &quot;Выбрать&quot; для просмотра списка редакций, обслуживаемых в репозитории. </li>
<li>Пропустите этот шаг, если в предыдущем шаге не нажимали кнопку &quot;Выбрать&quot;. В диалоговом окне &quot;Выбор редакции&quot; раскройте &quot;Ветви&quot; и выберите требуемую ветвь. Если требуется, в соседнем списке укажите идентификатор фиксации и нажмите кнопку &quot;Выбрать&quot;.
<p class = "notes"><b>Примечание.</b> Если указанный выпуск относится к допустимой фиксации, которая не отмечены именем ветви, HEAD отключается и пользователь бльше не принадлежит ветви.</p></li>
<li>В полях &quot;Идентификатор фиксации&quot;, &quot;Автор&quot;, &quot;Сообщение&quot; просмотрите информацию, относящуюся к извлекаемой редакции.</li>
<li>Для создания новой ветви на основе извлеченной редакции выберите параметр &quot;Извлечь в качестве новой ветви&quot; и введите имя поле &quot;Имя ветви&quot;.</li>
<li>Для извлечения редакции нажмите кнопку &quot;Извлечь&quot;.<br /> Файлы в рабочем дереве и в индексе обновляются в соответствии с версией из указанной редакции.</li>
</ol>
<p class="notes"><b>Примечание.</b> Если требуется переключить файлы на уже существующую ветвь (например, на фиксацию, которая не находится наверху одной из ветвей), можно использовать команду &quot;Группа &gt; Git &gt; Ветвь &gt; Переключить на ветвь&quot;, указать ветвь в диалоговом окне &quot;Переключение на выбранную ветвь&quot;, извлечь ее в качестве новой ветви (не обязательно) и нажать кнопку &quot;Переключить&quot;.</p>
<p>В среде IDE поддерживается контекстно-зависимое извлечение файлов, папок и проектов, выбранных в текущий момент в среде IDE. Для извлечения нескольких файлов (не ветви) из индекса выполните следующие действия. </p>
<ol>
<li>В главном меню выберите &quot;Группа &gt; Git &gt; Извлечь &gt; Извлечь файлы&quot;. <br /> Отобразится диалоговое окно &quot;Извлечение выбранных путей&quot;.
<p class="align-center"><a href="../../../images_www/articles/73/ide/git/chkout-path.png" rel="lytebox" title="Получение выбранных путей"> <img alt="Получение выбранных путей" border="1/" src="../../../images_www/articles/73/ide/git/chkout-path-small.png"></a></p></li>
<li>Выберите вариант &quot;Обновить индекс записями из выбранной редакции&quot;.<br /> При выборе этого варианта индекс обновляется в соответствии с состоянием из выбранной редакции, прежде чем выполнять свое извлечение. Это означает, что выбранные файлы обновляются как в рабочем дереве, так и в индексе. </li>
<li>Чтобы указать требуемую редакцию, введите в поле &quot;Редакция&quot; идентификатор фиксации, существующую ветвь или имя тега, или же нажмите кнопку &quot;Выбрать&quot; для просмотра списка редакций, обслуживаемых в репозитории. </li>
<li>Пропустите этот шаг, если в предыдущем шаге не нажимали кнопку &quot;Выбрать&quot;. В диалоговом окне &quot;Выбор редакции&quot; раскройте &quot;Ветви&quot; и выберите требуемую ветвь. В соседнем списке укажите номер редакции (если требуется) и нажмите кнопку &quot;Выбрать&quot;. </li>
<li>Для завершения извлечения нажмите кнопку &quot;Извлечь&quot;.</li>
</ol>
<a name="branchMerge"></a>
<h3>Слияние</h3>
<p>Для переноса изменений из <span title="Понедельник, 5 сентября 2011 г., 7:59:41 (дневное тихоокеанское время)">редакции репозитория в рабочее дерево</span> выполните следующие действия.</p>
<ol>
<li>В главном меню выберите &quot;Группа &gt; Git &gt; Слияние редакции&quot;.<br /> Откроется диалоговое окно &quot;Слияние редакции&quot;.
<p class="align-center"><a href="../../../images_www/articles/73/ide/git/merge.png" rel="lytebox" title="Слияние редакции"> <img alt="Слияние редакции" border="1/" src="../../../images_www/articles/73/ide/git/merge-small.png"></a></p></li>
<li>Чтобы указать требуемую редакцию, введите в поле &quot;Редакция&quot; идентификатор фиксации, существующую ветвь или имя тега, или же нажмите кнопку &quot;Выбрать&quot; для просмотра списка редакций, обслуживаемых в репозитории. </li>
<li>Пропустите этот шаг, если в предыдущем шаге не нажимали кнопку &quot;Выбрать&quot;. В диалоговом окне &quot;Выбор редакции&quot; раскройте &quot;Ветви&quot; и выберите требуемую ветвь. Если требуется, в соседнем списке укажите идентификатор фиксации и нажмите кнопку &quot;Выбрать&quot;.</li>
<li>Нажмите &quot;Слияние&quot;.<br /> Выполняется трехстороннее слияние текущей ветви, содержимого рабочего дерева и указанной ветви.
<p class="notes"><b>Примечание.</b> При возникновении конфликта слияния конфликтующий файл помечен с <a href="#badges">красной отметкой</a> для указания этого конфликта.</p>
<p class="notes"><b>Примечание.</b> После слияния небходимо <a href="#committing">зафиксировать</a> изменений для их добавления к HEAD.</p>
</li>
</ol>
<a name="branchDelete"></a>
<h3>Удаление ветви</h3>
<p>Для удаления ненужной локальной ветви выполните следующие шаги. </p>
<ol>
<li>В главном меню выберите &quot;Группа &gt; Git &gt; Браузер репозитория&quot;.</li>
<li>В браузере репозитория Git выберите ветвь для удаления. <p class="notes"><b>Примечание.</b> Ветвь должна быть неактивной, т.е. в настоящее время не изъята в рабочее дерево.</p></li>
<li>Щелкните выбранную ветвь правой кнопкой мыши и во всплывающем меню выберите &quot;Удалить ветвь&quot;.</li>
<li>В диалоговом окне &quot;Удаление ветви&quot; нажмите кнопку &quot;ОК&quot; для подтверждения удаления.<br /> Ветвь удаляется из локального репозитория и из браузера репозитория Git.</li>
</ol></div>
<div>
<a name="remote"></a>
<h2>Работа с удаленными репозиториями</h2>
<p>При работе совместно с другими разработчиками требуется обмениваться результатами работы. Это сопровождается загрузкой изменений (со слиянием с активной ветвью или без такового) из удаленных репозиториев, размещенных в сети или Интернете, выгрузкой изменений в них и помещением их в эти репозитории.</p>
<ul>
<li><a href="#fetch">Загрузка изменений</a></li>
<li><a href="#pull">Загрузка изменений и слияние с активной веткой</a></li>
<li><a href="#push">Выгрузка изменений</a></li>
</ul>
<a name="fetch"></a>
<h3>Загрузка изменений</h3>
<p>В процессе загрузки изменений из исходного удаленного репозитория доставляются те изменения, которых у вас еще нет. При этом никакие локальные ветви никогда не изменяются. В процессе загрузки изменений из удаленных репозиториев доставляются все ветви, которые можно слить с вашей ветвью или просто в любой момент проверить их.</p>
<p>Для загрузки обновлений выполните следующие действия. </p>
<ol>
<li>Выберите &quot;Группа &gt; Git &gt; Удаленный &gt; Выборка&quot;. <br /> Отображается мастер загрузки из удаленного репозитория.
<p class="align-center"><a href="../../../images_www/articles/73/ide/git/fetch.png" rel="lytebox" title="Мастер загрузки из удаленного репозитория"> <img alt="Мастер загрузки из удаленного репозитория" border="1/" src="../../../images_www/articles/73/ide/git/fetch-small.png"></a></p></li>
<li>На странице мастера &quot;Удаленный репозиторий&quot; выберите репозиторий &quot;Настроенный&quot; (для использования настроенного ранее пути к репозиторию) или вариант &quot;Указать местоположение репозитория Git&quot; (чтобы определить путь к удаленному репозиторию, доступ к которому еще не осуществлялся, его имя, имя для входа, пароль и, если требуется, настройки прокси) и щелкните &quot;Далее&quot;.</li>
<li>На странице мастера &quot;Удаленные ветви&quot; выберите ветви для загрузки из них изменений и щелкните &quot;Готово&quot;.<br /> Создается локальная копия удаленной ветви. Выбранная ветвь обновляется в каталоге <tt>Ветви</tt> &gt; <tt>Удаленная</tt> в браузере репозитория Git.<br /> Далее можно выполнить слияние выбранных обновлений в локальную ветвь. </li>
</ol>
<a name="pull"></a>
<h3>Загрузка изменений со слиянием с активной ветвью</h3>
<p>В процессе загрузки изменений со слиянием с активной ветвью обновлений из удаленного репозитория Git в нем осуществляется выборка изменений и выполняется их слияние в локальном HEAD локального репозитория.<br /> Для осуществления загрузки изменений со слиянием с активной ветвью выполните следующие действия. </p>
<ol>
<li>Выберите &quot;Группа &gt; Git &gt; Удаленный &gt; Вытянуть&quot;. <br /> Отображается мастер принудительной загрузки из удаленного репозитория.
<p class="align-center"><a href="../../../images_www/articles/73/ide/git/pull.png" rel="lytebox" title="Мастер принудительной загрузки из удаленного репозитория"> <img alt="Мастер принудительной загрузки из удаленного репозитория" border="1/" src="../../../images_www/articles/73/ide/git/pull-small.png"></a></p></li>
<li>На странице мастера &quot;Удаленный репозиторий&quot; выберите репозиторий &quot;Настроенный&quot; (для использования настроенного ранее пути к репозиторию) или вариант &quot;Указать местоположение репозитория Git&quot; (чтобы определить путь к удаленному репозиторию, доступ к которому еще не осуществлялся, его имя и, если требуется, имя для входа и пароль) и щелкните &quot;Далее&quot;. </li>
<li>На странице мастера &quot;Удаленные ветви&quot; выберите ветви для загрузки из них изменений со слиянием с активной ветвью и нажмите кнопку &quot;Готово&quot;.<br /> Локальный репозиторий синхронизируется с исходным репозиторием.</li>
</ol>
<a name="push"></a>
<h3>Выгрузка изменений</h3>
<p>Для внесения изменений из локального репозитория Git в общий репозиторий Git выполните следующие действия.</p>
<ol>
<li>Выберите &quot;Группа &gt; Git &gt; Удаленный &gt; Выгрузка изменений&quot;. <br /> Открывается мастер выталкивания в удаленный репозиторий.
<p class="align-center"><a href="../../../images_www/articles/73/ide/git/push.png" rel="lytebox" title="Мастер выталкивания в удаленный репозиторий"> <img alt="Мастер выталкивания в удаленный репозиторий" border="1/" src="../../../images_www/articles/73/ide/git/push-small.png"></a></p></li>
<li>На странице мастера &quot;Удаленный репозиторий&quot; выберите репозиторий &quot;Настроенный&quot; (для использования настроенного ранее пути к репозиторию) или вариант &quot;Указать местоположение репозитория Git&quot; (чтобы определить путь к удаленному репозиторию, доступ к которому еще не осуществлялся, его имя и, если требуется, имя для входа и пароль) и щелкните &quot;Далее&quot;. </li>
<li>На странице мастера &quot;Выбор локальных ветвей&quot; выберите ветви, в которые следует выгрузить изменения, и щелкните &quot;Далее&quot;.</li>
<li>На странице &quot;Обновление локальных ссылок&quot; выберите ветви, которые требуется обновить в каталоге &quot;Удаленные&quot; локального репозитория, и нажмите кнопку &quot;Готово&quot;. <br /> Указанная ветвь удаленного репозитория обновляется с использованием последнего состояния локальной ветви. </li>
</ol>
</div>
<a name="summary"></a>
<h2>Заключение</h2>
<p>В данном учебном курсе показаны основные задачи контроля версий в среде IDE. Описана стандартная последовательность действий при использовании поддерживаемой средой IDE системы контроля версий GIT. Продемонстрирован способ настройки проекта с контролем версий и выполнения основных задач контроля версий файлов. Параллельно с этим дано представление о некоторых компонентах GIT, включенных в среду IDE.</p>
<div class="feedback-box">
<a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Git%20User%20Guide">Отправить отзыв по этому учебному курсу</a></div>
<br style="clear:both;"/>
<a name="seealso"></a>
<h2>Дополнительные сведения</h2>
<p>Связанные материалы можно найти в следующих документах:</p>
<ul>
<li><a href="../../../kb/docs/ide/clearcase.html">Знакомство с функциями ClearCase контроля версий в среде IDE</a>.</li>
<li><a href="../../../kb/docs/ide/subversion.html">Обзор возможностей поддержки Subversion в IDE NetBeans</a>.</li>
<li><a href="mercurial.html">Руководство пользователя по Mercurial в IDE NetBeans</a>.</li>
<li><a href="../../../kb/docs/ide/cvs.html">Обзор возможностей управления версиями CVS в NetBeans</a>.</li>
</ul>
</body>
</html>