как начать пользоваться git в связке с gitlab.com
Создаём аккаунт на сайте gitlab.com, и логинемся. Или просто логинемся в gitlab от аккаунта, который например у вас был создан на гитхабе.
1)В настройках профиля сразу добавляем публичные ключи ssh, машин с которых будет иметься доступ к вашему проекту, т.к. мы сейчас рассматриваем случай, если проекты приватные.
p.s.
делается это здесь https://gitlab.com/-/profile/keys
2)Перевым делом, перед созданием проекта, создадим группу, для удобства групповых разработок. Даже если сейчас вы работаете один, то вам будет проще потом подключать к проекту помощников, в случае такой необходимости.
2.1)И уже, в этой группе создаём проект.
Мы создаём пустой репозитарий на гитлабе. Он должен быть совершенно пустым изначально без всяких readme, чтобы в него залить свой проект(в котором уже можно будет создать свой readme и всё что угодно). Так будет проще, без всяких слияний(это тоже возможно, но зачем с этого начинать знакомство с ситемой контроля версий...), из-за файла readme? Поэтому убираем эту галочку.
Итак, создав проект мы получаем его адрес, который и будем указывать на своём хосте для подключения к этому проекту.
На этой странице, помимо адреса мы увидим, что нужно делать на своей машине, чтобы работать с этим проектом. Это своего рода шпаргалка.
☯
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)задаём глобальные настройки пользователя
Имя и фамилия рекомендуется латиницей. которое будет фигурировать как имя того кто делает коммит.
Email тот на котором у вас зарегистрирован аккаунт в gitlab (рекомендуется), но не обязательно.
2) создаём репозитарий в корневом каталоге этого проекта, с помощью команды:
Gри этом создаётся скрытый каталог .git который будет видно с помощью команды
3)Сразу проверяем статус проекта, так мы увидим на какой ветке мы находимся, по умолчанию это ветка master. Ведь, можно создать сколько угодно много разных ветвей разработки, в этом вопросе всегда нужна ясность.
Создаём файл (необязательно, но желательно об этом тоже сразу подумать)
в который прописываем пути и файлы, что мы не хотим включать в репозитарий, и как следствие, не желаем отслеживать изменения в системе контроля версий. Т.е. они существуют, но лишь как обычные файлы на вашем хосте, это могут быть файлы: кэша, миграций и прочего. Но некоторые файлы настоятельно не добавляются в репозитарий из соображений безопасности, файлы с паролями и доступами к базам данных например.
Допустим, если мы желаем игноривать файл readmenow(не добавлять в репозитарий), то добавим в игнор имя этого файла, например так:
Таким образом, добавляем все нужные файлы и каталоги, которые решили не отслеживать через git
4)И только после этого, добавляем в отслеживаемые в систему контроля версий, все остальные файлы проекта, с помощью команды git add, указывая . либо *.
Выбираем ., чтобы добавлялись и файлы которые начинаются с точки:
Поэтому сюда добавится и файл .gitignore.
Команда git add . обычно делается после каждого изменения состояний проекта, любого из отслеживаемых файлов.
5)теперь сохраняем текущее состояние проекта. фиксируем изменения в репозитории. Или другими словами делаем коммит.
6) Посмотрим историю сделанных комитов с помощью команды:
7) Посмотрим сделанные изменения в файлах после последнего коммита, с помощью:
команда показывает, что изменилось с последнего коммита, если что-то изменилось мы это увидим.
Сейчас наш проект локально сохранён в репозитарии в каталоге .git, решаем залить в репозитарий, созданный нами на сервере gitlab. Чтобы сохраниться и глобально, т.е. объеденим эти наши два этапа действий.
В наш пустой репозитарий на гитлабе, который мы создали, и получили там его адрес допустим это
Посмотрим какой сейчас у нас указан remote(место куда мы заливаем проект). он пока должен быть пустым
если он не пустой и/или не такой, какой нам нужен(если например вы уже что-то добавили случайно, соеденив его с именем origin, перебирая команды, например из других инструкций), то удалите сначала, а потом добавьте нужный.
Чтобы удалить origin из remote:
Если он пустой, то сразу добавляем нужный путь:
Теперь имя origin будет связано с этим репозитарием на сервере gitlab. Можно выбрать и любое другое имя для этого. Но обычно используют его. Хотя если у вас несколько репозитариев, то и имён соответственно будет больше.
Вот и пришёл ключевой, но при этом достаточно простой(если вы всё сделали как в этой инструкции) момент, когда проект отправляется на сервер gitlab, с помощью введения одной команды:
Ещё раз повторим, что слово master это имя ветки, которая создаётся по умолчанию при git init, если вы создали другую ветку например с именем main, соответственно указывайте её.
И помним, чтобы узнать какую ветку нужно здесь указывать, смотрим это с помощью команды:
Cоотвественно, чтобы получить проект в разработку на другой машине(публичный ssh ключ, которой тоже уже должен быть прописан на gitlab)
нужно выполнить следующие команды, в нужном каталоге(пустом)
создаём в git глобальные настройки
добавляем путь к нашему репозитарию
И получаем файлы проекта
Или обычно используется другой способ, чтобы получить файлы проекта, без предварительного создания пустого репозитария и добавления remote.
Находясь уже в нужном каталоге, в котором мы желаем увидеть этот проект, сразу делаем такую команду в аргументах передавая путь к репозитарию. У нас это git@gitlab.com:test8711713/test.git и через пробел, указывается текущий каталог ./ как обычно.
Таким образом, создаётся локальный репозитарий .git, с уже прописанным remote (естественно при условии, что у вас уже прописаны глобальные настройки git и есть доступ к этому репозитарию, т.е. ssh публичный ключ, текущего хоста был прописан в настройках владельца проекта на gitlab). Так мы легко и просто получаем проект для работы с ним в этом каталоге.