Bootstrap

как начать пользоваться git в связке с gitlab.com

как начать пользоваться git в связке с gitlab.com

Создаём аккаунт на сайте gitlab.com, и логинемся. Или просто логинемся в gitlab от аккаунта, который например у вас был создан на гитхабе.

1)В настройках профиля сразу добавляем публичные ключи ssh, машин с которых будет иметься доступ к вашему проекту, т.к. мы сейчас рассматриваем случай, если проекты приватные.
p.s.
делается это здесь https://gitlab.com/-/profile/keys

добавляем публичные ключи ssh
добавляем публичные ключи ssh
(как пользоваться ssh и/или создать свою пару ключей ssh смотри здесь)

2)Перевым делом, перед созданием проекта, создадим группу, для удобства групповых разработок. Даже если сейчас вы работаете один, то вам будет проще потом подключать к проекту помощников, в случае такой необходимости.

создаём группу на gitlab

2.1)И уже, в этой группе создаём проект.

создаём создаём проект в группе gitlab
создаём создаём проект в группе gitlab

Мы создаём пустой репозитарий на гитлабе. Он должен быть совершенно пустым изначально без всяких readme, чтобы в него залить свой проект(в котором уже можно будет создать свой readme и всё что угодно). Так будет проще, без всяких слияний(это тоже возможно, но зачем с этого начинать знакомство с ситемой контроля версий...), из-за файла readme? Поэтому убираем эту галочку.

создаём создаём проект в группе gitlab

Итак, создав проект мы получаем его адрес, который и будем указывать на своём хосте для подключения к этому проекту.

создав проект мы получаем его адрес в gitlab

На этой странице, помимо адреса мы увидим, что нужно делать на своей машине, чтобы работать с этим проектом. Это своего рода шпаргалка.

Terminal:


#  Command line instructions
#  You can also upload existing files from your computer using the instructions below.

#  Git global setup
    git config --global user.name "User Name"
    git config --global user.email "userEmail@email.ru"

#  Create a new repository
    git clone git@gitlab.com:test8711713/test.git
    cd test
    git switch -c main
    touch README.md
    git add README.md
    git commit -m "add README"
    git push -u origin main

#  Push an existing folder
    cd existing_folder
    git init --initial-branch=main
    git remote add origin git@gitlab.com:test8711713/test.git
    git add .
    git commit -m "Initial commit"
    git push -u origin main

#  Push an existing Git repository
    cd existing_repo
    git remote rename origin old-origin
    git remote add origin git@gitlab.com:test8711713/test.git
    git push -u origin --all
    git push -u origin --tags

Теперь начинаем второй, и основной этап работы с системой контроля версий, когда репозитарий создан, нам уже не нужен ни сайт gitlab, ни его вебинтерфейс для работы с проектом, т.е. мы получили адрес проекта и настроили доступ по ssh. Поэтому открываем консоль на своей машине и начинаем.

заходим на свою машину в консоль, в каталог проекта, рассмотрим случай, когда проект у нас уже есть, на компьютере и мы его хотим залить(запушить) на сервер гитлаб, в этот только-что созданный нами проект по инструкции выше.

1)задаём глобальные настройки пользователя


 git config --global user.name  'vashe imya'

Имя и фамилия рекомендуется латиницей. которое будет фигурировать как имя того кто делает коммит.


git config --global user.email  'vash email'

Email тот на котором у вас зарегистрирован аккаунт в gitlab (рекомендуется), но не обязательно.

2) создаём репозитарий в корневом каталоге этого проекта, с помощью команды:


 git init  

Gри этом создаётся скрытый каталог .git который будет видно с помощью команды


 ls -la  

3)Сразу проверяем статус проекта, так мы увидим на какой ветке мы находимся, по умолчанию это ветка master. Ведь, можно создать сколько угодно много разных ветвей разработки, в этом вопросе всегда нужна ясность.


git status  

Создаём файл (необязательно, но желательно об этом тоже сразу подумать)

.gitignore

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

Допустим, если мы желаем игноривать файл readmenow(не добавлять в репозитарий), то добавим в игнор имя этого файла, например так:


echo readmenow >>  .gitignore

Таким образом, добавляем все нужные файлы и каталоги, которые решили не отслеживать через git

4)И только после этого, добавляем в отслеживаемые в систему контроля версий, все остальные файлы проекта, с помощью команды git add, указывая . либо *.
Выбираем ., чтобы добавлялись и файлы которые начинаются с точки:


 git add  .

Поэтому сюда добавится и файл .gitignore.
Команда git add . обычно делается после каждого изменения состояний проекта, любого из отслеживаемых файлов.

5)теперь сохраняем текущее состояние проекта. фиксируем изменения в репозитории. Или другими словами делаем коммит.


  git commit -m  'название версии или сделанных изменений для понимания общего смысла этого коммита'

6) Посмотрим историю сделанных комитов с помощью команды:


git log 

7) Посмотрим сделанные изменения в файлах после последнего коммита, с помощью:


 git diff 

команда показывает, что изменилось с последнего коммита, если что-то изменилось мы это увидим.

Сейчас наш проект локально сохранён в репозитарии в каталоге .git, решаем залить в репозитарий, созданный нами на сервере gitlab. Чтобы сохраниться и глобально, т.е. объеденим эти наши два этапа действий.

В наш пустой репозитарий на гитлабе, который мы создали, и получили там его адрес допустим это

git@gitlab.com:test8711713/test.git

Посмотрим какой сейчас у нас указан remote(место куда мы заливаем проект). он пока должен быть пустым


git remote -v 

если он не пустой и/или не такой, какой нам нужен(если например вы уже что-то добавили случайно, соеденив его с именем origin, перебирая команды, например из других инструкций), то удалите сначала, а потом добавьте нужный.

Чтобы удалить origin из remote:


git remote remove origin

Если он пустой, то сразу добавляем нужный путь:


git remote add origin git@gitlab.com:test8711713/test.git

Теперь имя origin будет связано с этим репозитарием на сервере gitlab. Можно выбрать и любое другое имя для этого. Но обычно используют его. Хотя если у вас несколько репозитариев, то и имён соответственно будет больше.

Вот и пришёл ключевой, но при этом достаточно простой(если вы всё сделали как в этой инструкции) момент, когда проект отправляется на сервер gitlab, с помощью введения одной команды:


git push -u origin master

Ещё раз повторим, что слово master это имя ветки, которая создаётся по умолчанию при git init, если вы создали другую ветку например с именем main, соответственно указывайте её.


git push -u origin main

И помним, чтобы узнать какую ветку нужно здесь указывать, смотрим это с помощью команды:


git status 

Cоотвественно, чтобы получить проект в разработку на другой машине(публичный ssh ключ, которой тоже уже должен быть прописан на gitlab)

нужно выполнить следующие команды, в нужном каталоге(пустом)

создаём в git глобальные настройки


git init 

добавляем путь к нашему репозитарию


  git remote add origin git@gitlab.com:test8711713/test.git

И получаем файлы проекта


git pull origin master

Или обычно используется другой способ, чтобы получить файлы проекта, без предварительного создания пустого репозитария и добавления remote.

Находясь уже в нужном каталоге, в котором мы желаем увидеть этот проект, сразу делаем такую команду в аргументах передавая путь к репозитарию. У нас это git@gitlab.com:test8711713/test.git и через пробел, указывается текущий каталог ./ как обычно.


git clone git@gitlab.com:test8711713/test.git ./

Таким образом, создаётся локальный репозитарий .git, с уже прописанным remote (естественно при условии, что у вас уже прописаны глобальные настройки git и есть доступ к этому репозитарию, т.е. ssh публичный ключ, текущего хоста был прописан в настройках владельца проекта на gitlab). Так мы легко и просто получаем проект для работы с ним в этом каталоге.

Свежие статьи

крипто-донат, на развитие сайта itdid.ru:

В новом окне с терминалом itdid.ru, введите любую сумму: