Сообщение об ошибке

  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).

Изучаем GIT – Часть 1: Установка GIT на Debian

test

Изучаем GIT – Часть 1: Установка GIT на Debian


Внимание, это условный перевод статьи: http://linux.koolsolutions.com/2009/08/07/learn-git-series-part-1-installing-git-on-debian/
Если вы заметили ошибки перевода, прошу писать об этом в комментариях и я поправлю текст. По вопросам перевода обращайтесь nelexis[(@)]gmail.com


 

Приветствую в Части 1 «Изучаем GIT»

Цель: Если вы продвинутый Linux пользователь, наверняка уже слышали про GIT — распределенную систему версий исходных кодов написанную Линусом Торвальдсом для использования в разработке ядра Linux. Как бы там ни было, а GIT стал очень популярным в наши дни для многих больших проектов, таких как GNOME, Ruby on Rails, прочих начавших использовать GIT. Один из друзей в Expedia рассказал мне как они так же начали использовать GIT в их новых проектах. Я тоже решил начать изучать/использовать GIT. Так почему бы не начать изучать GIT вместе? Я буду регулярно писать про мое изучение GIT до тех пор пока я достаточно не изучу его.

Предположение: Хотя этот шаг должен быть практически идентичным для всех дистрибутивов Linux, Я буду использовать Debian Lenny 5.0 (x86). Начнем...

Шаг 1: Установка GIT Сперва установим основной пакет и тогда увидим какие еще другие нужны пакеты GIT: apt-get update<br>apt-get install git-core

<b>Заметка: </b><span style="font-weight: normal;">Так же есть другой пакет называемый «git», но нам НЕ НУЖЕН этот пакет. По этому не делайте:</span>
apt-get install git.

Шаг 2: Настройка имени и email Для каждого коммита сделанного нами используя git, имя и email должны быть указаны той персоной которая коммитит изменения кода для идентификации. По этому наша первая работа после установки задать имя и email следующими командами: kushalk@debian-tablet:~$ git config --global user.name "Kushal Koolwal"<br>kushalk@debian-tablet:~$ git config --global user.email kushalk@koolwal.net

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

kushalk@debian-tablet:~$ git config -l<br>user.name=Kushal Koolwal<br>user.email=kushalk@koolwal.net

 

Шаг 3: Подготовка директории проекта

Пришло время создать ваш первый GIT репозиторий. Это будет либо уже существующей директорией проекта, либо новосозданной директорией. Для простоты я создам новую директорию проекта:

kushalk@debian-tablet:~$ mkdir -p projects/hello

Теперь директория “hello”станет нашим GIT репозитарием в котором мы будем хранить исходные коды.

kushalk@debian-tablet:~$ cd projects/hello

Теперь давайте напишем простую программу “Hello Word” на C.

kushalk@debian-tablet:~$ nano hello_word.c

Код:

#include<br>int main (void)<br>{<br>printf ("Hello World!\n");<br>}

Не так быстро, мы еще не сделали нашу директорию «hello» GIT репозиторием. Так до сих пор мы имеем его так же, как любой другой нормальный каталог, который имеет простую программу на С в ней.

Шаг 4: Создание вашего первого GIT репозитария

Сейчас просто задавши следующую команду инициализируем директорию “hello”как GIT репозитарий:

kushalk@debian-tablet:~/projects/hello$ git init

Вывод:

Initialized empty Git repository in /home/kushalk/projects/hello/.git/

Выведенное сообщение означает что ваш GIT репозиторий успешно инициализирован и готов дать все преимущества что может предложить GIT. Обратите внимание что команда создала “.git” директорию внутри вашей директории в которую сохраняется все мета-информация об проекте.

kushalk@debian-tablet:~/projects/hello$ ls -al .git/

Вывод:

total 40<br>drwxr-xr-x 7 kushalk kushalk 4096 2009-08-07 01:46 .<br>drwxr-xr-x 3 kushalk kushalk 4096 2009-08-07 01:48 ..o<br>drwxr-xr-x 2 kushalk kushalk 4096 2009-08-07 01:46 branches<br>-rw-r--r-- 1 kushalk kushalk&nbsp;&nbsp; 92 2009-08-07 01:46 config<br>-rw-r--r-- 1 kushalk kushalk&nbsp;&nbsp; 73 2009-08-07 01:46 description<br>-rw-r--r-- 1 kushalk kushalk&nbsp;&nbsp; 23 2009-08-07 01:46 HEAD<br>drwxr-xr-x 2 kushalk kushalk 4096 2009-08-07 01:46 hooks<br>drwxr-xr-x 2 kushalk kushalk 4096 2009-08-07 01:46 info<br>drwxr-xr-x 4 kushalk kushalk 4096 2009-08-07 01:46 objects<br>drwxr-xr-x 4 kushalk kushalk 4096 2009-08-07 01:46 refs<br>kushalk@debian-tablet:~/projects/hello$

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

kushalk@debian-tablet:~/projects/hello$ nano .git/description

и добавим следующую строку:

My first GIT project - Hello World

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

Unnamed repository; edit this file 'description' to name the repository.

Сохраняем и закрываем файл.
Вот как быстро и успешно вы создали базовый GIT репозиторий для вашего проекта “hello”

Шаг 5: Добавляем файл(ы) в ваш проект

Сейчас GIT не распознает “hello_world.c” (созданный на Шаге 3) как часть. Нам нужно добавить файлы чтобы указать GIT начать отслеживать за их изменениями:

kushalk@debian-tablet:~/projects/hello$ git add hello_world.c

Теперь следующая команда:

git status

Вывод:

# On branch master<br>#<br># Initial commit<br>#<br># Changes to be committed:<br>#&nbsp;&nbsp; (use "git rm --cached ..." to unstage)<br>#<br>#&nbsp;&nbsp; &nbsp;new file:&nbsp;&nbsp; hello_world.c<br>#

Что сообщает о том что новый файл “hello_world.c” был добавлен но не закоммичен.

Шаг 6: Делаем наш первый коммит

А теперь сделаем наш первый коммит:

kushalk@debian-tablet:~/projects/hello$ git commit -a -m "Initial Commit"

Вывод:

[master (root-commit) 7e9459a] Initial Commit<br>1 files changed, 8 insertions(+), 0 deletions(-)<br>create mode 100644 hello_world.c

Вывод подтверждает что ваш коммит был успешным. Опция “-m” подходит для коротких сообщений что вы хотели бы приложить к коммиту. Обратите внимание что нужно задать какой тип сообщений будет для каждого коммита. Не пытайтесь пропустить часть сообщений. Кроме того, наличие значимых однострочных сообщений для коммита всегда полезно и вы можете обратиться к ним позже для просмотра внесенных изменений.
Поздравляю с первым сделанным коммитом!
Теперь если введете команду:

kushalk@debian-tablet:~/projects/hello$ git status

Вывод:

# On branch master<br>nothing to commit (working directory clean)

сообщает вам что более нечего коммитить вероятно ссылаясь на текущую дату.

Шаг 7: Проверка логов коммита

Так же вы можете смотреть ваши логи коммитов(историю) следующей командой:

kushalk@debian-tablet:~/projects/hello$ git log

Вывод:

commit 7e9459a2cb40469fe23116ef025354b45b3a45ce<br>Author: Kushal Koolwal<br>Date:&nbsp;&nbsp; Fri Aug 7 01:57:10 2009 -0700<br>Initial Commit

 

Шаг 8: Добавляем еще один файл и коммит

Теперь посмотрим как вы можете добавить один или несколько файлов в проект и закомитить их.

kushalk@debian-tablet:~/projects/hello$ nano library.h

Код:

#ifndef DEFINITIONS_H<br>#define DEFINITIONS_H 1<br>/* Implement a number using a linked list.&nbsp; */<br>struct LinkedListNumber<br>{<br>struct LinkedListNumber*<br>one_less_;<br>};<br>#endif /* DEFINITIONS_H */

Сохраняем файл и выходим.
Теперь редактируем наш hello_world.c для включения в репозиторий так же library.h:
Код:

#include
#include "library.h"
int main (void)<br>{<br>printf ("Hello World!\n");<br>}

Сохраняем и выходим.
Теперь если введете команду:

kushalk@debian-tablet:~/projects/hello$ git status

Вывод:

# On branch master<br># Changed but not updated:<br>#&nbsp;&nbsp; (use "git add ..." to update what will be committed)<br>#&nbsp;&nbsp; (use "git checkout -- ..." to discard changes in working directory)<br>#<br>#&nbsp;&nbsp; &nbsp;modified:&nbsp;&nbsp; hello_world.c<br>#<br># Untracked files:<br>#&nbsp;&nbsp; (use "git add ..." to include in what will be committed)<br>#<br>#&nbsp;&nbsp; &nbsp;library.h<br>no changes added to commit (use "git add" and/or "git commit -a")

соообщает о том какие файлы были изменены, так как они добавлены (hello_world.c) и которые были созданы, но не добавлены еще (library.h)
Теперь добавим к репозиторию файл “library.h”:

kushalk@debian-tablet:~/projects/hello$ git add library.h

И теперь делаем наш коммит:

kushalk@debian-tablet:~/projects/hello$ git commit -a -m "library.h file added"

Вывод:

[master d0e0654] library.h file added<br>2 files changed, 14 insertions(+), 3 deletions(-)<br>create mode 100644 library.h

Теперь проверьте статус вашего репозитория и логи коммитов:

kushalk@debian-tablet:~/projects/hello$ git status

Вывод:

# On branch master<br>nothing to commit (working directory clean)

И

kushalk@debian-tablet:~/projects/hello$ git log

Вывод:

commit d0e0654468e2e9f343369cda40e7760fc94ded9e<br>Author: Kushal Koolwal<br>Date:&nbsp;&nbsp; Fri Aug 7 02:17:37 2009 -0700<br>library.h file added<br>commit 7e9459a2cb40469fe23116ef025354b45b3a45ce<br>Author: Kushal Koolwal<br>Date:&nbsp;&nbsp; Fri Aug 7 01:57:10 2009 -0700<br>Initial Commit

Поздравляю еще раз если у вас все получилось так быстро. Вы только что создали ваш первый GIT репозиторий и так же два коммита таких как PROS.(прим. Переводчика: WTF PROS?)
Запомните, если вы чувствуете неуверенность прямо сейчас, не беспокойтесь. Это вполне нормально. С опытом система станет чувствоваться более удобной при работе с GIT командами. Поверьте мне я только, я сам только начал понимать что мы изучали в этой статье.
Удачного GIT-тинга

 
Категория: 

Делитесь с друзьями в социальных сетях! Оставляйте комментарии!

Share/Save

Это Вам так же может быть интересно!