Няколко основни команди и понятия в Git.
git status
С командата status можете да разберете кой е активният клон (branch), с който работите в момента. Също така тази команда е много важна, за да разберете статуса на файловете в проекта.
Git работи с няколко статуса на файловете:
- Untracked – файл, който не се следи от Git.
- Unmodified – файл, в който няма промени (непроменен).
- Modified – файл, в който има промяна (променен).
- Staged – файл с промени, които са готови за публикуване (готов).
След като даден файл е в статус staged, промените в него се публикуват с командата commit. Поставянето на файлове в статус готови (staged), се извършва с командата add.
git config
След като сте инсталирали Git на Вашето устройство, може да извършите няколко предварителни настройки с командата config.
Към командата config може да се използва един от трите параметъра: –system, –global, –local. Според използвания параметър, настройките се записват в различни файлове, намиращи на различно място.
При използване на „system“ настройките се записват във файл /etc/gitconfig и обхващат всички потребители на системата, в която работи Git. При използване на „global“ настройките се записват в ~/.gitconfig или ~/.config/git/config и са валидни само за дадения потребител на системата. При използване на „local“ настройките се отнасят за даденото Git хранилище и се записват във файл config в директорията на хранилището.
Примери:
Задаване на потребител и имейл адрес. Тази настройка е важна да се извърши първа след инсталацията на Git, тъй като тези данни ще се използват при всеки commit.
git config --global user.name "IvanPetrov"
git config --global user.email email@mysupersite.com
Задаване на текстов редактор, който ще се използва от Git:
git config --global core.editor "vim"
Проверка на зададените настройки в конфигурацията на Git:
git config --list
git config --show-origin user.name
git init
С тази команда се създава ново празно Git хранилище или може да се инициализира наново вече създадено. В директорията, в която е изпълнена командата, се създава поддиректорията .git, която съдържа системните файлове и директории на Git.
След инициализиране на хранилището, Git все още не следи нито един файл в директорията. Ако директорията е празна, трябва първо да добавите файлове в нея. Ако вече има файлове, може да укажете на Git да ги следи.
Примери:
За създаване на хранилище от вече съществуваща директория с файлове:
git init
Изпълнявате git init, докато се намирате в директорията.
git add .
Тази команда ще добави всички налични файлове в директорията към системата за контрол на версиите. Ако добавите нов файл в директорията може да го включите към Git с командата: „add filename“.
След като подготвите промените в хранилището, за да ги публикувате, изпълнете:
git commit -m "first commit"
С тази команда се записва състоянието на хранилището и извършените промени (добавянето на файловете към Git).
git clone
С командата clone можете да клонирате вече съществуващо хранилище, намиращо се на отдалечен сървър
При клонирането се изтеглят всички важни данни на хранилището. В случай че оригиналното хранилище се повреди, от клонираното е възможно да се възстанови състоянието му, в което е било в момента на клонирането.
Примери:
Клониране на отдалечено cPanel хранилище:
git clone ssh://goodexam@goodexample.site:1022/home/goodexam/newsite
Клониране на отдалечено GitHub хранилище:
git clone git@github.com:myproject/mysupersite.git
🔗 Създаване на Git хранилище в cPanel | Help
🔗 Създаване на Git хранилище през Git GUI/Bash (Windows) | Help
🔗 Добавяне/клониране на отдалечено (cPanel) хранилище през Git GUI/Bash (Windows) | Help
git remote
Управление на връзките с отдалечените хранилища. С remote можете да добавите отдалечено хранилище, което ще има съкратено име, чрез което можете да се обръщате към него.
Примери:
Добавяне на отдалечено cPanel хранилище, под името origin:
git remote add origin ssh://goodexam@goodexample.site:1022/home/goodexam/newsiterepo
Ако локалното хранилище е празно, може да се изтегли състоянието на отдалеченото хранилище след това с git fetch.
За да видите всички добавени отдалечени хранилища, добавете атрибута „-v“:
git remote -v
Когато искате да извършите някакво действие с отдалеченото хранилище, можете да използвате краткото му име, вместо URL адреса му, например:
git fetch origin
git add
С командата add добавяте промените в индекса на Git, които смятате, че са готови за публикуване (commit). Файлът, в който са промените, преминава в статус „staged“. Всички промени във файлове, които са в статус „готови“ (staged), може да се публикуват след това с commit.
След добавяне на нов файл в директорията на хранилището, подготвяне на тази промяна за публикуване:
git add "newfile.txt"
След промяна в даден файл, поставяне в статус „готов“ (staged):
git add "filename"
С add се извършва индексиране на файла в Git, което означава, че този файл е коректен и без конфликти.
git commit
След като промените са готови (staged), с командата commit ги публикувате.
Примери:
Публикуване на готови за публикуване (staged) промени:
git commit -m "describe the change"
Параметърът „-m“ се използва, когато искате да въведете уточняващата бележка за промяната директно в конзолата. Ако не го въведете, Git ще отвори текстовия редактор по подразбиране, за да въведете описващата бележка към публикацията в него. Редакторът по подразбиране се задава в конфигурацията на Git например:
git config --global core.editor "notepad"
След като запишете коментара в текстовия файл и го затворите, Git ще продължи и ще публикува промените.
За да прескочите етапа с подготвянето на промените, в който ги поставяте в статус staged (готов), може да добавите параметъра „-a“ към командата commit. Двата параметъра „-m“ и „-a“ може да се комбинират в „-am„. Например:
git commit -am "note"
git branch
С командата branch се управляват клоновете в хранилището – създаване, преименуване и изтриване.
Например, за да създадете ново разклонение на разработката в хранилището (клон, branch), под името „nameofbranch“, използвайте:
git branch nameofbranch
За да превключвате между различни клони, използвайте:
git checkout nameofbranch
С тази команда се премества HEAD указателят към посочения клон.
Можете с една команда да създадете клон и да превключите към него:
git checkout -b nameofbranch
Превключването между клоновете променя файловете в работната директория.
За да изтриете клон, използвайте атрибута „-d“:
git branch -d nameofbranch
За да видите всички клони, използвайте само командата без атрибути:
git branch
Клонът, посочен със звездичка, е активният в момента (HEAD указателят е преместен на него) и ако направите commit, промените ще се публикуват в този клон.
git pull
Тази команда се използва за автоматично изтегляне на промени от отдалеченото хранилище.
Когато текущият клон е настроен да проследява отдалечен клон (git remote add), с git pull можете да изтегляте данните от отдалечения клон.
git push
Командата push се използва, когато искате да публикувате промените в отдалеченото хранилище.
Качване на промените към отдалеченото хранилище:
git push origin master
git merge
Командата merge се използва, когато искате да слеете клон в друг.
Когато искате да направите сливане, трябва да сте превключили към клона, към който ще се извърши сливането. Например, за да слеете клона hotfix обратно към основния клон master, първо превключвате към master:
git checkout master
И след това изпълнявате:
git merge hotfix
В случай че сливането не се осъществи, поради конфликти в промените по кода в даден файл, ще е нужно първо да разрешите конфликта и след това да опитате отново със сливането.
git log
С тази команда можете да извършвате преглед на историята на действията и да изведете списък с публикуванията (commits) в дадения клон. Към всеки commit се предоставя детайлна информация като името, имейла на автора, дата, бележката към публикуването и други.
Към log командата може да се използват допълнителни атрибути, например за да ограничите резултатите до последните три commit-а, използвайте „-3“:
git log -3
Git псевдоними (Git aliases)
При изписване на команди, Git не ги допълва автоматично. Например ако започнете да изписвате командата „branch“, като изпишете първите две букви „br“ и натиснете Tab, командата няма да се завърши автоматично. Ако искате можете да създадете кратки варианти на командите (aliases).
За да създадете псевдоним за дадена команда, можете да поставите съответния ред в конфигурационния файл на Git, например:
git config --global alias.br branch
С тази команда се добавя псевдоним „br“ за командата „branch“ в конфигурацията на Git. След това е нужно да изпишете само br, вместо цялата команда branch.