Бързо да научим Git

Когато човек започва работа с Git, се започва с лепене по мониторите на едни напомнящи стикери: първо add, после commit, накрая push. Тийм лидера просто е казал да се следват инструкциите, иначе – лошо.

Идея

Както казва един добър мой преподавател – можем да си говорим много, но докато не нарисуваме нещата на хартия, нищо няма да се получи. Затова нека да нарисуваме нещата на „хартия“.

Разпределена система за контрол на версиите

На рисунката по-горе четирите области са представени елементите в Git.

Клониране на репозиторито

При клониране на данни от отдалечено репозитори, те се преместват в две области:

  • в работната директория
  • и в локално репозитори

Промени в работната директория

В работната директория има два типа файла:

  • tracked – файлове, за които Git знае.
  • unrtacked – файлове, които все още не са добавени и Git не знае за тях.

Освен това съществуват файлове и директории, за които на Git се казва, „недей да знаеш“ за тях. Те се описват в специален файл: .gitignore. При изпълняване на git status тези файлове не се показват – тях ги няма за Git. Задължителна практика е файловете с конфигурациите, папките от IDE, папките, където се компилират двоичните и обектните файлове да се описват в .gitignore.

Актуализиране на отдалеченото репозитори

След като измененията са подготвени в работната директория е необходим да се добавят в стейджинг областта (staging area).

Когато се съберат изменения с обща цел, е момента да се създаде комип в локалното репозитори.

Тук се говори за различните състояния в средата за разработка: изменен (modified), стейджед (staged) и закомитен (commited).

Команди, които показват различните състояния:

  • За да видите измененията във файловете в работната директория: git diff
  • За да видите измененията във файловете в стейджинг областта: git diff – staged

Актуализиране на средата за разработка

Fetch

При git fetch данните се преместват от отдалеченото репозитори само в локалното репозитори.

Pull

При изпълняване на git pull данните от отдалеченото репозитори се копират в две области:

  • в локалното репозитори: fetch
  • и в работната директория: merge

Ако за вас е важна историята на комитите, може да се използва git pull –rebase. Тогава вместо fetch + merge се изпълнява командата fetch + rebase. Вашите локални комити ще бъдат възпроизведени по такъв начин, че вие нама да видите в историята на комитите известната диамантена форма.

 

Вместо заключение

За подобряване на своите умения при работа с Git е полезно да се решат следниете Git челинджи.

 

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

This site uses Akismet to reduce spam. Learn how your comment data is processed.