| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| |
| <!-- |
| * Copyright © 1997, 2014, 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 в IDE NetBeans</h1> |
| <p>IDE NetBeans обеспечивает поддержку для клиента управления версиями Git. Благодаря этой поддержке выполнять задачи контроля версий можно непосредственно из среды IDE. В этом документе демонстрируется выполнение основных задач контроля версий в среде IDE путем рассмотрения стандартной последовательности действий при использовании программного обеспечения контроля версий.</p> |
| <p>Git является распределенной системой с открытым кодом, предназначенной для быстрого и эффективного контроля версий как в небольших, так и в масштабных проектах. Каждый клон Git представляет собой полнофункциональный репозиторий с полным набором возможностей отслеживания редакций и истории, не зависящими от наличия сетевого доступа или доступа к центральному серверу. Операции ветвления и слияния выполняются быстро и без затруднений. Использование Git для контроля версий файлов в большой степени сходно с использованием таких систем, как Mercurial, Subversion, CVS, Perforce и т.п.</p> |
| |
| <h3>Содержание</h3> |
| <img alt="Содержимое на этой странице применимо к IDE NetBeans 7.4 и 8.0" class="stamp" src="../../../images_www/articles/74/netbeans-stamp-80-74.png" title="Содержимое этой страницы применимо к IDE NetBeans 7.4 и 8.0" /> |
| |
| <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="https://netbeans.org/downloads/index.html" target="_blank">IDE NetBeans</a></td> |
| <td class="tbltd1">Версия 7.4 или 8.0</td> |
| </tr> |
| <tr> |
| <td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Комплект для разработки приложений на языке Java</a> (JDK)</td> |
| <td class="tbltd1">Версия 7 или 8</td> |
| </tr> |
| |
| </tbody> |
| </table> |
| |
| |
| |
| <div> |
| <a name="initialize"></a> |
| <h2>Инициализация репозитория Git</h2> |
| <p>Для инициализации репозитория Git с использованием существующих файлов, контроль исходных кодов которых еще не осуществляется, требуется выполнить следующие действия.</p> |
| <ol> |
| <li>В окне 'Проекты' выберите проект, для которого не осуществляется управление версиями, и щелкните правой кнопкой мыши имя проекта.</li> |
| <li>В контекстном меню выберите <tt>Создание версии</tt> > <tt>Инициализировать репозиторий Git</tt> (или выберите в главном меню <tt>Группа</tt> > <tt>Git</tt> > <tt>Инициализировать</tt>). |
| <p class="align-center"> |
| <a href="../../../images_www/articles/74/ide/git/initialize-git-repo.png" rel="lytebox" title="Диалоговое окно 'Подключаемые модули'"> <img alt="Диалоговое окно 'Подключаемые модули'" border="1/" src="../../../images_www/articles/74/ide/git/initialize-git-repo-small.png"></a></p> |
| </li> |
| <li>В диалоговом окне <tt>Инициализировать репозиторий Git </tt> укажите путь к репозиторию, в котором будут храниться файлы с контролем версий, или щелкните "Обзор" и выберите требуемый каталог. </li> |
| <li>Нажмите кнопку "ОК". |
| <p>В папке, указанной выше в шаге 3 (папка проекта NetBeans по умолчанию), создается вложенная папка <tt>.git</tt>, являющаяся репозиторием Git, в котором будут храниться все данные моментальных снимков проекта. В указанной папке Git запускает создание версий для всех файлов.<br /> В окне <tt>Окно</tt> > <tt>Вывод</tt> > <tt>Выходные данные</tt> можно просмотреть отчет среды IDE о ходе создания репозитория в локальном рабочем каталоге.</p> |
| <p class="align-center"><img alt="Окно вывода" border="1/" src="../../../images_www/articles/74/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/74/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> > <tt>Git</tt> > <tt>Клонировать</tt>. Отображается мастер клонирования репозитория. |
| <p class="align-center"> |
| <a href="../../../images_www/articles/74/ide/git/clone-wizard.png" rel="lytebox" title="Мастер клонирования репозиториев"> <img alt="Мастер клонирования репозиториев" border="1/" src="../../../images_www/articles/74/ide/git/clone-wizard-small.png"></a></p></li> |
| <li>На странице "Репозиторий" укажите путь к местоположению репозитория Git, имя пользователя и пароль (при необходимости эти данные можно сохранить для использования в дальнейшем).</li> |
| <li>(Не обязательно) Щелкните "Настройка прокси" для отображения диалогового окна "Параметры" и установите настройки сервера прокси. По завершении нажмите кнопку "ОК". </li> |
| <li>Нажмите кнопку "Далее" для перехода к следующему действию мастера.</li> |
| <li>На странице "Удаленные ветви" выберите ветви репозитория, которые требуется загрузить (или из которых надо загрузить изменения) в локальный репозиторий. Нажмите кнопку "Далее".</li> |
| <li>На странице "Целевой каталог" укажите следующие данные. |
| <ul> |
| <li>В поле "Родительский каталог" введите путь к каталогу на жестком диске, выбранному для размещения клонированного репозитория (или нажмите кнопку "Обзор" и выберите требуемый каталог).<br /> В поле "Родительский каталог" выводится путь к каталогу по умолчанию <tt>NetBeansProjects</tt>, в котором хранятся все проекты NetBeans.</li> |
| <li>В поле "Имя клона" введите имя локальной папки, в которой требуется создать клон исходного проекта.<br /> По умолчанию в поле "Имя клона" выводится имя текущего репозитория Git. </li> |
| <li>В поле "Извлечение ветви" выберите ветвь, которую требуется извлечь в рабочее дерево.</li> |
| <li>В поле "Удаленное имя" введите имя исходного клонируемого репозитория.<br /> По умолчанию для клонируемого репозитория используется псевдоним <tt>origin</tt>. Рекомендуется использовать это значение.</li> |
| <li>Оставьте установленным флажок "Поиск проектов Netbeans после клонирования", чтобы поиск проектов выполнялся непосредственно после окончания клонирования. (Этот подключаемый модуль выполняет поиск проектов NetBeans в клонированных ресурсах и предлагает открыть обнаруженные проекты.) |
| </li> |
| </ul> </li> |
| <li>Нажмите кнопку "Завершить".<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> > <tt>Git</tt> > <tt>Клонировать</tt>. Отображается мастер клонирования репозитория.</li> |
| <li>На странице "Удаленный репозиторий" мастера клонирования репозиториев укажите путь к требуемому репозиторию в поле "URL-адрес репозитория", например <tt>git@github.com:tstupka/koliba.git</tt>.</li> |
| <li>Убедитесь, что в текстовом поле "Имя пользователя" указано <tt>git</tt>.</li> |
| <li>Выберите вариант ключа — закрытый или открытый.</li> |
| <li>(<b>Пропустите этот шаг, если для автоматического доступа к серверу Git по протоколу SSH используется агент SSH или Pageant.</b>) Для получения доступа к серверу Git с помощью закрытого ключа SSH и парольной фразы выполните следующие действия: |
| <ol type="a"> |
| <li>Укажите путь к файлу ключей, например <tt>C:\Users\key</tt>. |
| <p class="notes"><b>Примечание.</b> Требуется формат закрытого ключа OpenSSH. Ключи, созданные PuTTYgen для Microsoft Windows, должны быть преобразованы в формат OpenSSH перед использованием их в IDE.</p></li> |
| <li>Введите парольную фразу для файла ключей, например <tt>abcd</tt>.</li> |
| |
| <li>(Не обязательно) Если требуется, установите флажок "Сохранить парольную фразу".</li> |
| </ol> |
| </li> |
| <li> (<b>Применимо, если для автоматического доступа к серверу Git по протоколу SSH используется агент SSH или Pageant.</b>) Чтобы получить аутентифицированный доступ к серверу Git из IDE с помощью правильно настроенного агента SSH или Pageant, оставьте поля "Файл закрытого ключа" и "Парольная фраза" пустыми. </li> |
| <li>(Не обязательно) Щелкните "Настройка прокси" для отображения диалогового окна "Параметры" и установите настройки сервера прокси. По завершении нажмите кнопку "ОК". |
| <p class="align-center"> |
| <a href="../../../images_www/articles/74/ide/git/github-repo.png" rel="lytebox" title="Страница 'Удаленный репозиторий' мастера клонирования репозиториев"> <img alt="Страница 'Удаленный репозиторий' мастера клонирования репозиториев" border="1/" src="../../../images_www/articles/74/ide/git/github-repo-small.png"></a></p></li></li> |
| <li>Нажмите кнопку "Далее".</li> |
| |
| <li>На странице "Удаленные ветви" выберите ветвь(и) репозитория, которую(ые) требуется загрузить (или из которых надо загрузить изменения) в локальный репозиторий, например <tt>master</tt>. |
| <p class="align-center"> |
| <a href="../../../images_www/articles/74/ide/git/github-branches.png" rel="lytebox" title="Страница 'Удаленные ветви' мастера клонирования репозиториев"> <img alt="Страница 'Удаленные ветви' мастера клонирования репозиториев" border="1/" src="../../../images_www/articles/74/ide/git/github-branches-small.png"></a></p></li> |
| <li>Нажмите кнопку "Далее".</li> |
| <li>На странице "Целевой каталог" укажите следующие данные. |
| <ul> |
| <li>В поле "Родительский каталог" введите путь к каталогу на жестком диске, выбранному для размещения клонированного репозитория (или нажмите кнопку "Обзор" и выберите требуемый каталог).<br /> В поле "Родительский каталог" выводится путь к каталогу по умолчанию <tt>NetBeansProjects</tt>, в котором хранятся все проекты NetBeans.</li> |
| <li>В поле "Имя клона" введите имя локальной папки, в которой требуется создать клон исходного проекта.<br /> По умолчанию в поле "Имя клона" выводится имя текущего репозитория Git. </li> |
| <li>В поле "Извлечение ветви" выберите ветвь, которую требуется извлечь в рабочее дерево.</li> |
| <li>В поле "Удаленное имя" введите имя исходного клонируемого репозитория.<br /> По умолчанию для клонируемого репозитория используется псевдоним <tt>origin</tt>. Рекомендуется использовать это значение.</li> |
| <li>Оставьте установленным флажок "Поиск проектов Netbeans после клонирования", чтобы поиск проектов выполнялся непосредственно после окончания клонирования. (Этот подключаемый модуль выполняет поиск проектов NetBeans в клонированных ресурсах и предлагает открыть обнаруженные проекты.) |
| <p class="align-center"> |
| <a href="../../../images_www/articles/74/ide/git/github-destination.png" rel="lytebox" title="Каталог назначения мастера клонирования репозиториев"> <img alt="Каталог назначения мастера клонирования репозиториев" border="1/" src="../../../images_www/articles/74/ide/git/github-destination-small.png"></a></p></li> |
| </ul> </li> |
| <li>Нажмите кнопку "Завершить".<br /> По завершении клонирования репозитория отображается сообщение "Клонирование завершено". |
| <p class="align-center"><img alt="Сообщение 'Клонирование завершено'" class="b-all" src="../../../images_www/articles/74/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> > <tt>Добавить</tt>.<br /> Содержимое файла добавляется в индекс перед выполнением фиксации. </li> |
| <li>В окне 'Проекты' щелкните правой кнопкой мыши файл, который необходимо зафиксировать.</li> |
| <li>В диалоговом окне 'Фикировать' выберите кнопку переключения взаимных изменений между HEAD и индексом ( <img alt="Значок 'Взаимные изменения в HEAD и индексе'" src="../../../images_www/articles/74/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> > <tt>Зафиксировать</tt>. </li> |
| <li>В диалоговом окне 'Фикировать' выберите кнопку переключения 'Выбрать изменения' для взаимных изменений между индексом и рабочим деревом ( <img alt="Значок 'Взаимные изменения в HEAD и рабочем дереве'" src="../../../images_www/articles/74/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/74/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)).</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/74/ide/git/left-margin.png"></p> |
| |
| <p class="notes"><b>Примечание.</b> Можно щелкнуть группировку цветов на полях для вызова команд управления версиями. Например, ниже на рисунке показаны элементы оформления, доступ к которым можно получить, щелкнув красный значок, который указывает на то, что соответствующие строки были удалены из локальной копии.</p> |
| <p class="align-center"><img alt="Доступные виджеты" border="1/" src="../../../images_www/articles/74/ide/git/left-widgets.png"></p> |
| |
| <p>На правом поле редактора исходного кода предоставлен обзор изменений, внесенных в файл в целом, сверху донизу. Цветовое выделение отображается незамедлительно после внесения изменений в файл. </p> |
| <p class="align-center"><img alt="Правое поле" border="1/" src="../../../images_www/articles/74/ide/git/right-margin.png"></p> |
| |
| |
| <p class="notes"><b>Примечание.</b> Щелкнув некоторую точку в пределах поля, можно незамедлительно перевести внутристрочный курсор в соответствующее местоположение в файле. Для просмотра числа затронутых строк наведите мышь на цветные значки в правом поле:</p> |
| <p class="align-center"><img alt="Доступные виджеты" border="1/" src="../../../images_www/articles/74/ide/git/right-lines-number.png"></p> |
| |
| <a name="viewFileStatus"></a> |
| <h3>Просмотр информации о состоянии файла</h3> |
| <p>При работе в представлениях "Проекты" (Ctrl-1), "Файлы" (Ctrl-2), "Избранное" (Ctrl-3), или "Контроль версий", среда IDE предоставляет несколько функций визуализации, облегчающих просмотр информации о состоянии файлов. В примере, приведенном ниже, обратите внимание, как метка (например, <img alt="Синяя метка" src="../../../images_www/articles/74/ide/git/blue-badge.png" />)цвет имени файла и смежная метка состояния соответствуют друг другу для предоставления для пользователей простого и эффективного способа отслеживания данных об изменениях версий файлов: |
| |
| </p> |
| <p class="align-center"><img alt="Сведения о состоянии файлов" class="b-all" src="../../../images_www/articles/74/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 "Контроль версий"</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/74/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/74/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/74/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/74/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/74/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/74/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/74/ide/git/gray-text.png" /></td> |
| <td class="tbltd1">Указывает на то, что файл игнорируется системой Git и не будет включен в команды контроля версий (например, "Обновить" и "Зафиксировать"). Файлы, стоящие под контролем версий, игнорировать невозможно.</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/74/ide/git/file-labels.png" /></p> |
| <p>Файлы, вовлеченные в конфликт слияния, характеризуются как не подвергавшиеся слиянию — как правило, это отмечается красным цветом до тех пор, пока конфликт файлов не будет разрешен в результате явного действия пользователя. Ярлык состояния файлов, не подвергавшихся слиянию, зависит от конкретной ситуации (например, <tt>A/A</tt> - не подвергавшиеся слиянию, оба добавлены).</p> |
| |
| |
| |
| |
| <p class="tips">Можно включить или отключить отображение ярлыков состояний файлов, выбрав <tt>Вид</tt> > <tt>Показать ярлыки контроля версий</tt> в главном меню.</p> |
| |
| <a name="versioningView"></a> |
| <h4>Представление Git "Контроль версий"</h4> |
| <p>Представление Git "Контроль версий" дает возможность просматривать в режиме реального времени список всех изменений, внесенных в файлы конкретной папки локального рабочего дерева. По умолчанию оно открывается в нижней панели среды IDE, и в нем перечислены добавленные, удаленные и измененные файлы.</p> |
| |
| <p>Чтобы открыть представление "Контроль версий", выберите папку или файл, находящиеся под управлением системы контроля версий (например, в окне "Проекты", "Файлы" или "Избранное"). Затем выберите <tt>Git</tt> > <tt>Показать изменения</tt> в контекстном меню или <tt>Группа</tt> > <tt>Показать изменения</tt> в главном меню. В нижней панели среды IDE откроется следующее окно:</p> |
| <p class="align-center"> |
| <a href="../../../images_www/articles/74/ide/git/versioning-view.png" rel="lytebox" title="Представление управления версиями, в котором отображаются взаимные изменения в HEAD и рабочем дереве"> <img alt="Представление управления версиями, в котором отображаются взаимные изменения в HEAD и рабочем дереве" border="1/" src="../../../images_www/articles/74/ide/git/versioning-view-small.png"></a></p> |
| |
| <p>По умолчанию в представлении "Контроль версий" отображается список всех измененных файлов, содержащихся в выбранном пакете или папке рабочего дерева. С помощью кнопок панели инструментов можно выбрать для отображения список файлов, для которых имеются различия между индексом и HEAD, рабочим деревом и индексом или рабочим деревом и HEAD. Также можно щелкнуть заголовки столбцов над перечисленными файлами, чтобы отсортировать их по имени, состоянию или местоположению.</p> |
| |
| <p>Панель инструментов представления "Контроль версий" содержит также кнопки, позволяющие вызывать стандартные задачи для всех файлов, отображенных в списке. В следующей таблице приведены команды Git, которые можно вызвать с панели инструментов представления "Контроль версий".</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/74/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/74/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/74/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/74/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/74/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/74/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/74/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/74/ide/git/versioning-right-click.png" rel="lytebox" title="Контекстное меню отображается для выбранного файла в окне 'Управление версиями'"> <img alt="Контекстное меню отображается для выбранного файла в окне 'Управление версиями'" border="1/" src="../../../images_www/articles/74/ide/git/versioning-right-click-small.png"></a></p> |
| |
| |
| |
| |
| |
| |
| |
| <a name="diff"></a> |
| <h3>Сравнение редакций файлов</h3> |
| |
| <p>Сравнение версий файлов – обычная задача при работе над проектами под контролем версий. В среде IDE сравнение редакций выполняется с помощью команды Diff.</p> |
| <p class="notes"><b>Примечание.</b> В IDE доступно несколько моделей сравнения - "Различия с последней ревизией", "Различия с контролируемыми ревизиями" и "Различия с". </p> |
| <ol> |
| <li>Выберите файл или папку с контролем версий (например, в окне <tt>Проекты</tt>, <tt>Файлы</tt> или <tt>Избранное</tt>).</li> |
| <li>В главном меню выберите <tt>Группа</tt> > <tt>Различия</tt> > <tt>Различия с последней ревизией</tt>.<br /> В главном окне среды IDE открывается окно графического представления различий для выбранных файлов и редакций. В средстве просмотра различий отображаются две копии на параллельных панелях. Более новая копия отображается справа, поэтому, если выполняется сравнение редакции из репозитория с рабочим деревом, рабочее дерево отображается на правой панели. |
| <p class="align-center"><a href="../../../images_www/articles/74/ide/git/diff-viewer.png" rel="lytebox" title="Средство просмотра различий"> <img alt="Средство просмотра различий" border="1/" src="../../../images_www/articles/74/ide/git/diff-viewer-small.png"></a></p> |
| |
| <p>В программе просмотра различий используется такое же <a href="#color-coding-table">цветовое выделение</a>, которое используется для отображения изменений другими компонентами системы контроля версий. На снимке экрана выше зеленый блок обозначает содержание, добавленное к последней редакции. Красный блок указывает, что содержание из ранней редакции было позднее удалено. Синий указывает, что в выделенных строках произошли изменения.</p> |
| <p class="notes"><b>Примечание.</b> Другие ревизии можно выбрать в списках <tt>Различия</tt> и <tt>с</tt> под панелью инструментов "Просмотр различий".</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/74/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/74/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/74/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/74/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/74/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/74/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/74/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/74/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/74/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/74/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/74/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> > <tt>Откатить изменения</tt>.<br /> Откроется диалоговое окно <a name="revertdialog"></a><tt>Откат изменений</tt>. |
| |
| <p class="align-center"><img alt="Диалоговое окно 'Откат изменений'" class="b-none margin-around" src="../../../images_www/articles/74/ide/git/revert.png" /></p></li> |
| <li><a name="three"></a>Укажите дополнительные параметры (например, <tt>Откатить в индексе только изменения, незафиксированные в HEAD</tt>) . </li> |
| <li>Щелкните "Откатить".</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> > <tt>Зафиксировать</tt>. |
| <p><a name="commitdialog"></a>Открывается диалоговое окно <tt>Фиксация</tt>.</p> |
| <p class="align-center"> |
| <a href="../../../images_www/articles/74/ide/git/commit.png" rel="lytebox" title="Диалоговое окно 'Фиксация'"> <img alt="Диалоговое окно 'Фиксация'" border="1/" src="../../../images_www/articles/74/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/74/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/74/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/74/ide/git/recent-msgs.png" /> ), расположенный в правом верхнем углу, чтобы просмотреть и выбрать необходимое из ранее использованного списка сообщений.</li> |
| <li>щелкните значок <tt>Загрузить шаблон</tt> ( <img alt="Щелкните значок шаблона" src="../../../images_www/articles/74/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>В окне "Проекты" или "Файлы" выберите из репозитория проект или папку, в которой требуется создать ветвь.</li> |
| <li>В главном меню выберите "Группа > Ветвь/Метка > Создать ветвь". |
| <p class="notes"><b>Примечание.</b> Также можно щелкнуть правой кнопкой мыши на проекте или папке, находящимся под управлением системы контроля версий, и выбрать "Git > Ветвь/Метка > Создать ветвь" в раскрывающемся меню.</p> |
| Откроется диалоговое окно "Создать ветвь". |
| <p class="align-center"> |
| <a href="../../../images_www/articles/74/ide/git/create-branch.png" rel="lytebox" title="Диалоговое окно создания ветви"> <img alt="Диалоговое окно создания ветви" border="1/" src="../../../images_www/articles/74/ide/git/create-branch-small.png"></a></p> |
| </li> |
| <li>В поле "Имя ветви" введите имя создаваемой ветви.</li> |
| <li>Введите конкретную редакцию выбранного элемента. Для этого введите в поле "Редакция" идентификатор фиксации, существующую ветвь или имя тега, или нажмите кнопку "Выбрать" для просмотра списка редакций, обслуживаемых в репозитории.</li> |
| <li>(Не обязательно) В диалоговом окне "Выбор редакции" раскройте "Ветви" и выберите требуемую ветвь; укажите идентификатор фиксации в соседнем списке и нажмите кнопку "Выбрать".</li> |
| <li>В полях "Идентификатор фиксации", "Автор", "Сообщение" просмотрите информацию, относящуюся к редакции, для которой создается ветвь, и щелкните "Создать".<br /> Ветвь добавится в папку <tt>Ветви/Локальные</tt> репозитория Git. |
| <p class="align-center"> |
| <a href="../../../images_www/articles/74/ide/git/branch-added.png" rel="lytebox" title="Репозиторий Git:: создана новая ветвь"> <img alt="Ветвь добавлена" border="1/" src="../../../images_www/articles/74/ide/git/branch-added-small.png"></a></p></li> |
| </ol> |
| <a name="branchCheckOut"></a> |
| <h3>Извлечение </h3> |
| <p>Если требуется редактировать файлы в уже существующей ветви, можно извлечь ветвь для создания копий файлов в рабочем дереве.</p> |
| |
| <p>Для извлечения редакции выполните следующие действия. </p> |
| <ol> |
| <li>В главном меню выберите "Группа > Извлечь > Извлечь ревизию". <br />Отобразится диалоговое окно "Извлечение выбранной редакции". |
| <p class="align-center"><a href="../../../images_www/articles/74/ide/git/chkout-rev.png" rel="lytebox" title="Получение выбранной редакции"> <img alt="Получение выбранной редакции" border="1/" src="../../../images_www/articles/74/ide/git/chkout-rev-small.png"></a></p></li> |
| <li>Чтобы указать требуемую редакцию, введите в поле "Редакция" идентификатор фиксации, существующую ветвь или имя тега, или же нажмите кнопку "Выбрать" для просмотра списка редакций, обслуживаемых в репозитории. </li> |
| <li>Пропустите этот шаг, если в предыдущем шаге не нажимали кнопку "Выбрать". В диалоговом окне "Выбор редакции" раскройте "Ветви" и выберите требуемую ветвь. Если требуется, в соседнем списке укажите идентификатор фиксации и нажмите кнопку "Выбрать". |
| <p class = "notes"><b>Примечание.</b> Если указанный выпуск относится к допустимой фиксации, которая не отмечены именем ветви, HEAD отключается и пользователь бльше не принадлежит ветви.</p></li> |
| <li>В полях "Идентификатор фиксации", "Автор", "Сообщение" просмотрите информацию, относящуюся к извлекаемой редакции.</li> |
| <li>Для создания новой ветви на основе извлеченной редакции выберите параметр "Извлечь в качестве новой ветви" и введите имя поле "Имя ветви".</li> |
| <li>Для извлечения редакции нажмите кнопку "Извлечь".<br /> Файлы в рабочем дереве и в индексе обновляются в соответствии с версией из указанной редакции.</li> |
| </ol> |
| <p class="notes"><b>Примечание.</b> Если требуется переключить файлы на уже существующую ветвь (например, на фиксацию, которая не находится наверху одной из ветвей), можно использовать команду "Группа > Git > Ветвь > Переключить на ветвь", указать ветвь в диалоговом окне "Переключение на выбранную ветвь", извлечь ее в качестве новой ветви (не обязательно) и нажать кнопку "Переключить".</p> |
| <p>В среде IDE поддерживается контекстно-зависимое извлечение файлов, папок и проектов, выбранных в текущий момент в среде IDE. Для извлечения нескольких файлов (не ветви) из индекса выполните следующие действия. </p> |
| <ol> |
| <li>В главном меню выберите "Группа > Извлечь > Извлечь файлы". <br /> Отобразится диалоговое окно "Извлечение выбранных путей". |
| <p class="align-center"><a href="../../../images_www/articles/74/ide/git/chkout-path.png" rel="lytebox" title="Получение выбранных путей"> <img alt="Получение выбранных путей" border="1/" src="../../../images_www/articles/74/ide/git/chkout-path-small.png"></a></p></li> |
| <li>Выберите вариант "Обновить индекс записями из выбранной редакции".<br /> При выборе этого варианта индекс обновляется в соответствии с состоянием из выбранной редакции, прежде чем выполнять свое извлечение. Это означает, что выбранные файлы обновляются как в рабочем дереве, так и в индексе. </li> |
| <li>Чтобы указать требуемую редакцию, введите в поле "Редакция" идентификатор фиксации, существующую ветвь или имя тега, или же нажмите кнопку "Выбрать" для просмотра списка редакций, обслуживаемых в репозитории. </li> |
| <li>Пропустите этот шаг, если в предыдущем шаге не нажимали кнопку "Выбрать". В диалоговом окне "Выбор редакции" раскройте "Ветви" и выберите требуемую ветвь. В соседнем списке укажите номер редакции (если требуется) и нажмите кнопку "Выбрать". </li> |
| <li>Для завершения извлечения нажмите кнопку "Извлечь".</li> |
| </ol> |
| |
| <a name="branchMerge"></a> |
| <h3>Слияние</h3> |
| <p>Для переноса изменений из <span title="Понедельник, 5 сентября 2011 г., 7:59:41 (дневное тихоокеанское время)">редакции репозитория в рабочее дерево</span> выполните следующие действия.</p> |
| <ol> |
| <li>В главном меню выберите "Группа > Ветвь/Метка > Слить ревизию".<br /> Откроется диалоговое окно "Слияние редакции". |
| <p class="align-center"><a href="../../../images_www/articles/74/ide/git/merge.png" rel="lytebox" title="Слияние редакции"> <img alt="Слияние редакции" border="1/" src="../../../images_www/articles/74/ide/git/merge-small.png"></a></p></li> |
| <li>Чтобы указать требуемую редакцию, введите в поле "Редакция" идентификатор фиксации, существующую ветвь или имя тега, или же нажмите кнопку "Выбрать" для просмотра списка редакций, обслуживаемых в репозитории. </li> |
| <li>Пропустите этот шаг, если в предыдущем шаге не нажимали кнопку "Выбрать". В диалоговом окне "Выбор редакции" раскройте "Ветви" и выберите требуемую ветвь. Если требуется, в соседнем списке укажите идентификатор фиксации и нажмите кнопку "Выбрать".</li> |
| <li>Нажмите "Слияние".<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>В главном меню выберите "Группа > Обзор репозитория".</li> |
| <li>В браузере репозитория Git выберите ветвь для удаления. <p class="notes"><b>Примечание.</b> Ветвь должна быть неактивной, т.е. в настоящее время не изъята в рабочее дерево.</p></li> |
| <li>Щелкните выбранную ветвь правой кнопкой мыши и во всплывающем меню выберите "Удалить ветвь".</li> |
| <li>В диалоговом окне "Удаление ветви" нажмите кнопку "ОК" для подтверждения удаления.<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>Выберите "Группа > Удаленный > Получить изменения".<br /> Отображается мастер загрузки из удаленного репозитория. |
| <p class="align-center"><a href="../../../images_www/articles/74/ide/git/fetch.png" rel="lytebox" title="Мастер загрузки из удаленного репозитория"> <img alt="Мастер загрузки из удаленного репозитория" border="1/" src="../../../images_www/articles/74/ide/git/fetch-small.png"></a></p></li> |
| <li>На странице мастера "Удаленный репозиторий" выберите репозиторий "Настроенный" (для использования настроенного ранее пути к репозиторию) или вариант "Указать местоположение репозитория Git" (чтобы определить путь к удаленному репозиторию, доступ к которому еще не осуществлялся, его имя, имя для входа, пароль и, если требуется, настройки прокси) и щелкните "Далее".</li> |
| <li>На странице мастера "Удаленные ветви" выберите ветви для загрузки из них изменений и щелкните "Готово".<br /> Создается локальная копия удаленной ветви. Выбранная ветвь обновляется в каталоге <tt>Ветви</tt> > <tt>Удаленная</tt> в браузере репозитория Git.<br /> Далее можно выполнить слияние выбранных обновлений в локальную ветвь. </li> |
| </ol> |
| |
| <a name="pull"></a> |
| <h3>Загрузка изменений со слиянием с активной ветвью</h3> |
| <p>В процессе загрузки изменений со слиянием с активной ветвью обновлений из удаленного репозитория Git в нем осуществляется выборка изменений и выполняется их слияние в локальном HEAD локального репозитория.<br /> Для осуществления загрузки изменений со слиянием с активной ветвью выполните следующие действия. </p> |
| <ol> |
| <li>Выберите "Группа > Удаленный > Получить и объединить изменения".<br /> Отображается мастер принудительной загрузки из удаленного репозитория. |
| <p class="align-center"><a href="../../../images_www/articles/74/ide/git/pull.png" rel="lytebox" title="Мастер принудительной загрузки из удаленного репозитория"> <img alt="Мастер принудительной загрузки из удаленного репозитория" border="1/" src="../../../images_www/articles/74/ide/git/pull-small.png"></a></p></li> |
| <li>На странице мастера "Удаленный репозиторий" выберите репозиторий "Настроенный" (для использования настроенного ранее пути к репозиторию) или вариант "Указать местоположение репозитория Git" (чтобы определить путь к удаленному репозиторию, доступ к которому еще не осуществлялся, его имя и, если требуется, имя для входа и пароль) и щелкните "Далее". </li> |
| <li>На странице мастера "Удаленные ветви" выберите ветви для загрузки из них изменений со слиянием с активной ветвью и нажмите кнопку "Готово".<br /> Локальный репозиторий синхронизируется с исходным репозиторием.</li> |
| </ol> |
| <a name="push"></a> |
| <h3>Выгрузка изменений</h3> |
| <p>Для внесения изменений из локального репозитория Git в общий репозиторий Git выполните следующие действия.</p> |
| <ol> |
| <li>Выберите "Группа > Удаленный > Отправить изменения".<br /> Открывается мастер выталкивания в удаленный репозиторий. |
| <p class="align-center"><a href="../../../images_www/articles/74/ide/git/push.png" rel="lytebox" title="Мастер выталкивания в удаленный репозиторий"> <img alt="Мастер выталкивания в удаленный репозиторий" border="1/" src="../../../images_www/articles/74/ide/git/push-small.png"></a></p></li> |
| <li>На странице мастера "Удаленный репозиторий" выберите репозиторий "Настроенный" (для использования настроенного ранее пути к репозиторию) или вариант "Указать местоположение репозитория Git" (чтобы определить путь к удаленному репозиторию, доступ к которому еще не осуществлялся, его имя и, если требуется, имя для входа и пароль) и щелкните "Далее". </li> |
| <li>На странице мастера "Выбор локальных ветвей" выберите ветви, в которые следует выгрузить изменения, и щелкните "Далее".</li> |
| <li>На странице "Обновление локальных ссылок" выберите ветви, которые требуется обновить в каталоге "Удаленные" локального репозитория, и нажмите кнопку "Готово". <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&subject=Feedback:%20Using%20Git%20Support%20in%20NetBeans%20IDE">Отправить отзыв по этому учебному курсу</a></div> |
| |
| <br style="clear:both;"/> |
| <a name="seealso"></a> |
| <h2>Дополнительные сведения</h2> |
| |
| <p>Связанные материалы можно найти в следующих документах:</p> |
| <ul> |
| |
| <li><a href="clearcase.html">Использование поддержки ClearCase в IDE NetBeans</a></li> |
| <li><a href="subversion.html">Использование поддержки Subversion в IDE NetBeans</a></li> |
| <li><a href="mercurial.html">Использование поддержки Mercurial в IDE NetBeans</a></li> |
| <li><a href="cvs.html">Использование поддержки CVS в IDE NetBeans</a></li> |
| <li><a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG234">Управление версиями приложений в системах контроля версий</a> в документе <i>Разработка приложений в IDE NetBeans</i></a></li> |
| </ul> |
| </body> |
| </html> |