(Verse 1)
Yo, listen up, I got a story to tell,
‘Bout programmers and how they use Git so well,
It’s a version control system, a developer’s delight,
Helping us collaborate and code with all our might.
(Chorus)
Git, Git, it’s the way we commit,
Branching, merging, pushing, we never quit,
With Git, we track changes, keep our code in line,
Programmers unite, let’s make our projects shine.
(Verse 2)
In the command line, we start with a clone,
Pulling down the repo, making it our own,
We create branches, each with a unique name,
Working on features, fixing bugs, it’s all fair game.
(Chorus)
Git, Git, it’s the way we commit,
Branching, merging, pushing, we never quit,
With Git, we track changes, keep our code in line,
Programmers unite, let’s make our projects shine.
(Verse 3)
We add files, make changes, and stage them too,
Committing our work, leaving a message that’s true,
Pushing to the remote, sharing with the team,
Collaboration at its finest, fulfilling our dream.
(Chorus)
Git, Git, it’s the way we commit,
Branching, merging, pushing, we never quit,
With Git, we track changes, keep our code in line,
Programmers unite, let’s make our projects shine.
(Bridge)
Merge conflicts may arise, but we’ll find a way,
Resolving differences, making sure all’s okay,
Git stash, rebase, cherry-pick, we got the tricks,
Programmers using Git, we’re a force that sticks.
(Chorus)
Git, Git, it’s the way we commit,
Branching, merging, pushing, we never quit,
With Git, we track changes, keep our code in line,
Programmers unite, let’s make our projects shine.
(Outro)
So raise your keyboards high, let’s give a cheer,
For Git, the tool that brings us all near,
Programmers united, we’ll never be split,
With Git in our hands, we’ll code and never quit.
git stash позволяет “заначить” изменения в одной ветке, потом их восстановить в другой ветке. Таким образом, если изменения начали вносить по ошибке не в ту ветку, можно перенести их в нужную!
Конфликт – ситуация, при которой изменения не могут быть слиты гитом автоматически.
В случае конфликта, смотрим файлы, где они произошли, командой git status.
<<<<<<< HEAD означает часть, которая находится в текущей ветке (в которую вливаем изменения).
>>>>>>> feat-name означает часть, которая находится в сливаемой ветке.
Идём в эти файлы, разрешаем конфликты в помеченных местах руками. После этого, помечаем файлы командой git add . . Командой git status проверяем, что файлы с разрешенными конфликтами добавлены в индекс.
Meld
All development happens on GNOME’s Gitlab instance. http://meldmerge.org/
Установить Meld инструментом для слияния по умолчанию: git config —-global merge.tool meld
Для запуска инструмента в случае конфликта: git mergetool
После разрешения конфликта, исполнить git commit -m ‘Merge main into branch’. Или просто git commit , тогда он сам напишет сообщение.
GitHub – pull request == GitLab – merge request
Create a merge commit – все коммиты из сливаемой ветки будут добавлены в основную.
Squash and merge – все коммиты будут объединены в один и влиты.
Rebase and merge – перебазирование коммитов в основную ветку так, как будто они туда и делались.