Изучаем GIT – Часть 1: Установка GIT на Debian
Внимание, это условный перевод статьи: http://linux.koolsolutions.com/2009/08/07/learn-git-series-part-1-installing-git-on-debian/
Если вы заметили ошибки перевода, прошу писать об этом в комментариях и я поправлю текст.
Приветствую в Части 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
apt-get install git-core
Заметка:
Так же есть другой пакет называемый «git», но нам НЕ НУЖЕН этот пакет. По этому не делайте:
apt-get install git.
Шаг 2: Настройка имени и email
Для каждого коммита сделанного нами используя git, имя и email должны быть указаны той персоной которая коммитит изменения кода для идентификации. По этому наша первая работа после установки задать имя и email следующими командами:
kushalk@debian-tablet:~$ git config --global user.name "Kushal Koolwal"
kushalk@debian-tablet:~$ git config --global user.email kushalk@koolwal.net
kushalk@debian-tablet:~$ git config -l
user.name=Kushal Koolwal
user.email=kushalk@koolwal.net
Шаг 3: Подготовка директории проекта
Пришло время создать ваш первый GIT репозиторий. Это будет либо уже существующей директорией проекта, либо новосозданной директорией. Для простоты я создам новую директорию проекта:kushalk@debian-tablet:~$ mkdir -p projects/hello
kushalk@debian-tablet:~$ cd projects/hello
kushalk@debian-tablet:~$ nano hello_word.c
#include
int main (void)
{
printf ("Hello World!\n");
}
Не так быстро, мы еще не сделали нашу директорию «hello» GIT репозиторием.
Так до сих пор мы имеем его так же, как любой другой нормальный каталог, который имеет простую программу на С в ней.Шаг 4: Создание вашего первого GIT репозитария
Сейчас просто задавши следующую команду инициализируем директорию “hello”как GIT репозитарий:kushalk@debian-tablet:~/projects/hello$ git init
Initialized empty Git repository in /home/kushalk/projects/hello/.git/
kushalk@debian-tablet:~/projects/hello$ ls -al .git/
total 40
drwxr-xr-x 7 kushalk kushalk 4096 2009-08-07 01:46 .
drwxr-xr-x 3 kushalk kushalk 4096 2009-08-07 01:48 ..o
drwxr-xr-x 2 kushalk kushalk 4096 2009-08-07 01:46 branches
-rw-r--r-- 1 kushalk kushalk 92 2009-08-07 01:46 config
-rw-r--r-- 1 kushalk kushalk 73 2009-08-07 01:46 description
-rw-r--r-- 1 kushalk kushalk 23 2009-08-07 01:46 HEAD
drwxr-xr-x 2 kushalk kushalk 4096 2009-08-07 01:46 hooks
drwxr-xr-x 2 kushalk kushalk 4096 2009-08-07 01:46 info
drwxr-xr-x 4 kushalk kushalk 4096 2009-08-07 01:46 objects
drwxr-xr-x 4 kushalk kushalk 4096 2009-08-07 01:46 refs
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
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached ..." to unstage)
#
# new file: hello_world.c
#
Шаг 6: Делаем наш первый коммит
А теперь сделаем наш первый коммит:kushalk@debian-tablet:~/projects/hello$ git commit -a -m "Initial Commit"
[master (root-commit) 7e9459a] Initial Commit
1 files changed, 8 insertions(+), 0 deletions(-)
create mode 100644 hello_world.c
Вывод подтверждает что ваш коммит был успешным. Опция “-m” подходит для коротких сообщений что вы хотели бы приложить к коммиту. Обратите внимание что нужно задать какой тип сообщений будет для каждого коммита. Не пытайтесь пропустить часть сообщений. Кроме того, наличие значимых однострочных сообщений для коммита всегда полезно и вы можете обратиться к ним позже для просмотра внесенных изменений.
Поздравляю с первым сделанным коммитом!
Теперь если введете команду:
kushalk@debian-tablet:~/projects/hello$ git status
# On branch master
nothing to commit (working directory clean)
Шаг 7: Проверка логов коммита
Так же вы можете смотреть ваши логи коммитов(историю) следующей командой:kushalk@debian-tablet:~/projects/hello$ git log
commit 7e9459a2cb40469fe23116ef025354b45b3a45ce
Author: Kushal Koolwal
Date: Fri Aug 7 01:57:10 2009 -0700
Initial Commit
Шаг 8: Добавляем еще один файл и коммит
Теперь посмотрим как вы можете добавить один или несколько файлов в проект и закомитить их.kushalk@debian-tablet:~/projects/hello$ nano library.h
#ifndef DEFINITIONS_H
#define DEFINITIONS_H 1
/* Implement a number using a linked list. */
struct LinkedListNumber
{
struct LinkedListNumber*
one_less_;
};
#endif /* DEFINITIONS_H */
Теперь редактируем наш hello_world.c для включения в репозиторий так же library.h:
Код:
#include
#include "library.h"
int main (void)
{
printf ("Hello World!\n");
}
Теперь если введете команду:
kushalk@debian-tablet:~/projects/hello$ git status
# On branch master
# Changed but not updated:
# (use "git add ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working directory)
#
# modified: hello_world.c
#
# Untracked files:
# (use "git add ..." to include in what will be committed)
#
# library.h
no changes added to commit (use "git add" and/or "git commit -a")
Теперь добавим к репозиторию файл “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
2 files changed, 14 insertions(+), 3 deletions(-)
create mode 100644 library.h
kushalk@debian-tablet:~/projects/hello$ git status
# On branch master
nothing to commit (working directory clean)
kushalk@debian-tablet:~/projects/hello$ git log
commit d0e0654468e2e9f343369cda40e7760fc94ded9e
Author: Kushal Koolwal
Date: Fri Aug 7 02:17:37 2009 -0700
library.h file added
commit 7e9459a2cb40469fe23116ef025354b45b3a45ce
Author: Kushal Koolwal
Date: Fri Aug 7 01:57:10 2009 -0700
Initial Commit
Поздравляю еще раз если у вас все получилось так быстро. Вы только что создали ваш первый GIT репозиторий и так же два коммита таких как PROS.(прим. Переводчика: WTF PROS?)
Запомните, если вы чувствуете неуверенность прямо сейчас, не беспокойтесь. Это вполне нормально. С опытом система станет чувствоваться более удобной при работе с GIT командами. Поверьте мне я только, я сам только начал понимать что мы изучали в этой статье.
Удачного GIT-тинга
уточнение к переводу (wtf pros?).
ОтветитьУдалитьlike pros = like professionals (как профессионалы)
капец, все глаза сломать можно :-(
ОтветитьУдалить