Changes between Initial Version and Version 1 of ru/GitGuideLines


Ignore:
Timestamp:
06/03/09 20:12:33 (15 years ago)
Author:
slavazanko
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ru/GitGuideLines

    v1 v1  
     1= Руководство для разработчика по работе с git  = 
     2 
     3Любой разработчик может вносить изменения в репозиторий, поэтому нам необходимы правила, которые: 
     4 * помогут ориентироваться в исправлениях в ветках 
     5 * позволят узнать, кто является ответственным за исправления. 
     6 
     7== Соглашения == 
     8 
     9Для исключения неоднозначных толкований необходимо определиться с условными обозначениями, которые далее будут применяться в этом руководстве. 
     10 
     11'''${src_dir}''': 
     12 Каталог, в котором находятся исходные тексты Midnight Commander. В этом каталоге должен присутствовать подкаталог {{{.git}}}[[BR]] 
     13 Расположение этого каталога в файловой системе может быть в любом месте, которое вам понравится. Это может быть {{{/home/<yournick>/src/mc}}}; 
     14 {{{/usr/src/mc}}} или любой другой. 
     15 
     16 
     17== Получение репозитория == 
     18 
     19Прежде всего, необходимо получить копию репозитория: 
     20{{{ 
     21$ git clone ssh://midnight-commander.org:2222/git/mc.git 
     22}}} 
     23 
     24== Персональная настройка git == 
     25 
     26Перед началом работы необходимо указать вашему git некоторые данные о себе: 
     27{{{ 
     28cd ${src_dir} 
     29git config 'user.name' 'ваше имя' 
     30git config 'user.email' 'ваш e-mail' 
     31}}} 
     32 
     33Обязательно укажите эти данные. Не стесняйтесь указать реальный e-mail адрес - он необходим для связи с вами при решении вопросов, связанных с ревизиями. 
     34 
     35После выполнения этих команд ваша персональная информация будет занесена в файл {{{${src_dir}/.git/config}}}. Это означает, что ваши персональные данные будут использоваться при работе только с этим репозиторием. Чтобы ваше имя и ваш e-mail использовались при работе с любым репозиторием, выполните команды: 
     36{{{ 
     37git config --global 'user.name' 'ваше имя' 
     38git config --global 'user.email' 'ваш e-mail' 
     39}}} 
     40 
     41== Работа с git == 
     42Сейчас вы готовы продолжить работу с репозиторием. Далее будут описаны типичные сценарии работы с репозиторием. 
     43 
     44=== Выполнение операции "просмотр тикета с веткой" ===  
     45 
     46На [http://www.midnight-commander.org/report/9 странице] списка тикетов, которые необходимо пересмотреть, выбирайте любой тикет. Статус тикета 'accepted' (принят) обозначает, что у тикета существует ветка, название которой начинается с номера тикета. например, вы выбрали тикет 'XXX. Some my thinks'; статус тикета 'accepted'. Представим, что XXX - это какой-то номер. 
     47 
     48Выполните команду:  
     49{{{ 
     50git remote prune origin 
     51}}} 
     52чтобы обновить список веток которые возможно уже приняты в основной ствол и удалены на сервере. 
     53Далее выполните: 
     54{{{ 
     55git branch -r 
     56}}} 
     57 
     58Вы увидите список веток, которые присутствуют в родительском git. Одна из веток будет называться, например: 'origin/XXX_some_my_thinks': 
     59 
     60{{{ 
     61  origin/10_fish_stalls_on_symlink 
     62  origin/125-allocate-and-free-memory-via-wrapper 
     63  origin/135_drop_bundled_libintl 
     64  origin/140_move_docs_and_contrib 
     65  origin/145_update_m4_files 
     66  origin/147_escaping 
     67  origin/148_fancy_tab_handling 
     68  origin/155_remove_WANT_WIDGETS 
     69  origin/155_want_widgets_METUX 
     70  origin/158_message_codes 
     71  origin/161_drop_bundled_slang 
     72  origin/162_syntax_namerle 
     73  origin/166_syntax_minor_fixes 
     74  origin/167_locale_german 
     75  origin/XXX_some_my_thinks   
     76  origin/174_4.6_mandriva_pty_closeonexec 
     77  origin/199_slang_1x 
     78  origin/200_drop_ncurses 
     79  origin/204_mkdir_autofills_name 
     80  origin/50_history_section_names 
     81  origin/HACK_autoconf 
     82  origin/HACK_install_dirs 
     83  origin/HACK_memory_management 
     84  origin/HACK_mvfs 
     85  origin/HEAD 
     86  origin/master 
     87  origin/mc-4.6 
     88  origin/mc-ru-fork 
     89  origin/utf-8 
     90}}} 
     91 
     92Теперь убедитесь, что у вас нет локальной ветки с таким же названием. Выполните команду:  
     93{{{ 
     94git branch 
     95}}} 
     96 
     97Эта команда покажет список ваших локальных веток. Например: 
     98{{{ 
     99* master 
     100}}} 
     101Звездочка перед названием обозначает, что ветка является текущей. Если в этом списке нет 'XXX_some_my_thinks', то вам нужно выполнить следующую команду: 
     102{{{ 
     103git checkout --trac -b XXX_some_my_thinks origin/XXX_some_my_thinks 
     104}}} 
     105После успешного завершения команды вы увидите следующее: 
     106{{{ 
     107Branch XXX_some_my_thinks set up to track remote branch refs/remotes/origin/XXX_some_my_thinks. 
     108Switched to a new branch "XXX_some_my_thinks" 
     109}}} 
     110 
     111''ВНИМАНИЕ'' При выполнении этой команды git может выдать помощь по использованию команды git-checkout. Это означает, что вам не помешало бы обновить ваш git до более новой версии. 
     112 
     113Вы теперь создали новую локальную ветку на основе ветки из родительского репозитория. 
     114 
     115''ПРИМЕЧАНИЕ'' Если локальная ветка ранее уже была создана, то просто переключитесь на неё командой: 
     116{{{ 
     117git checkout XXX_some_my_thinks 
     118}}} 
     119 
     120Можно также проверить, является ли ветка 'XXX_some_my_thinks' текущей. Выполните команду: 
     121{{{ 
     122git-branch 
     123}}} 
     124Вы теперь увидите следующее: 
     125{{{ 
     126  master 
     127* XXX_some_my_thinks 
     128}}} 
     129Звездочка перед названием ветки, как уже было сказано, обозначает текущую ветку. 
     130 
     131Теперь вы можете протестировать изменения или исправления, внесенные в эту ветку (и описанные в связанном тикете).