Теперь при необходимости создания нового проекта идём на страницу https://gitlab.ru/projects/new и заполняем все необходимые реквизиты нового проекта (собственно, самое обязательное здесь - дать уникальное имя проекту)... После чего жмакаем "Создать проект" и получаем страницу с инструкцией на несколько вариантов как наполнить проект содержанием (файлами):Olej писал(а): ↑13 янв 2021, 13:54Прежде всего нужно один раз (если этого ещё нет) зарегистрироваться, создать логин, на URL https://gitlab.ru/users/sign_in.
использование GIT
Модератор: Olej
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: использование GIT
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: использование GIT
Я пойду способом наполнения от существующего каталога какой-то решавшейся задачи ... скажем задачи из темы С++ в относительно новых стандартах:
У нас есть относительно отработанная задача в отдельном каталоге (или мы её туда продублируем, в отдельный каталог):... заменить алгоритм for_each() STL (т.е. C++11/14/17, конечно ... ...) на операторный цикл.
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab$ pwd
/home/olej/2021_WORK/git.clouds/gitlab
olej@nvidia:~/2021_WORK/git.clouds/gitlab$ tree func2for
func2for
├── func2for
├── func2for.cc
├── func2for.hist
├── func2forS
├── func2forS.cc
└── Makefile
0 directories, 6 files
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ cd func2for
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git init
Инициализирован пустой репозиторий Git в /home/olej/2021_WORK/git.clouds/gitlab/func2for/.git/
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git remote add origin git@gitlab.ru:Olej/func2for.git
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git add .
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git commit -m "Initial commit - алгоритм -> цикл функтора"
[master (корневой коммит) 71e3a24] Initial commit - алгоритм -> цикл функтора
6 files changed, 208 insertions(+)
create mode 100644 Makefile
create mode 100755 func2for
create mode 100644 func2for.cc
create mode 100644 func2for.hist
create mode 100755 func2forS
create mode 100644 func2forS.cc
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git push -u origin master
The authenticity of host 'gitlab.ru (95.163.185.42)' can't be established.
ECDSA key fingerprint is SHA256:Kzn98+Vnqt2NqBAWOsifRKFgkbfMO/0MFSYs2B+jEDA.
Are you sure you want to continue connecting (yes/no/[fingerprint])? y
Please type 'yes', 'no' or the fingerprint: yes
Warning: Permanently added 'gitlab.ru,95.163.185.42' (ECDSA) to the list of known hosts.
Перечисление объектов: 8, готово.
Подсчет объектов: 100% (8/8), готово.
При сжатии изменений используется до 4 потоков
Сжатие объектов: 100% (8/8), готово.
Запись объектов: 100% (8/8), 8.89 KiB | 505.00 KiB/s, готово.
Всего 8 (изменения 2), повторно использовано 0 (изменения 0)
To gitlab.ru:Olej/func2for.git
* [new branch] master -> master
Ветка «master» отслеживает внешнюю ветку «master» из «origin».
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: использование GIT
Вот уже после этих действий страница (репозиторий) проекта - https://gitlab.ru/Olej/func2for - примет вид:
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: использование GIT
Но я здесь специально тупо следовал инструкции на странице, при выполнении команды (добавить все файлы под контроль GIT):
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git add .
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ echo func2for > .gitignore
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ echo func2forS >> .gitignore
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ cat .gitignore
func2for
func2forS
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git status
На ветке master
Ваша ветка обновлена в соответствии с «origin/master».
Неотслеживаемые файлы:
(используйте «git add <файл>…», чтобы добавить в то, что будет включено в коммит)
.gitignore
ничего не добавлено в коммит, но есть неотслеживаемые файлы (используйте «git add», чтобы отслеживать их)
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git add .gitignore
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git checkout -b ver.2
Переключено на новую ветку «ver.2»
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git commit
[ver.2 ebaa1ea] преобразование алгоритма for_each() в цикл for() вызовов функтора
1 file changed, 2 insertions(+)
create mode 100644 .gitignore
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git branch
master
* ver.2
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git push origin ver.2
Перечисление объектов: 4, готово.
Подсчет объектов: 100% (4/4), готово.
При сжатии изменений используется до 4 потоков
Сжатие объектов: 100% (2/2), готово.
Запись объектов: 100% (3/3), 374 bytes | 374.00 KiB/s, готово.
Всего 3 (изменения 1), повторно использовано 0 (изменения 0)
remote:
remote: To create a merge request for ver.2, visit:
remote: https://gitlab.ru/Olej/func2for/-/merge_requests/new?merge_request%5Bsource_branch%5D=ver.2
remote:
To gitlab.ru:Olej/func2for.git
* [new branch] ver.2 -> ver.2
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: использование GIT
Можно слить эти ветки (с новыми изменениями):
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git branch
master
* ver.2
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git checkout master
Переключено на ветку «master»
Ваша ветка обновлена в соответствии с «origin/master».
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git branch
* master
ver.2
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git merge ver.2
Обновление 71e3a24..ebaa1ea
Fast-forward
.gitignore | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 .gitignore
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ make
g++ -Wall -std=c++11 -O3 func2for.cc -o func2for
g++ -Wall -std=c++11 -O3 func2forS.cc -o func2forS
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git status -s
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/func2for$ git push origin master
Всего 0 (изменения 0), повторно использовано 0 (изменения 0)
To gitlab.ru:Olej/func2for.git
71e3a24..ebaa1ea master -> master
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: использование GIT
И теперь ... в любой стране, на любом компьютере ... я для этого использую просто произвольный пустой каталог... :
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/XXX$ ls -l
итого 0
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/XXX$ git clone https://gitlab.ru/Olej/func2for.git
Клонирование в «func2for»…
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 11 (delta 3), reused 0 (delta 0), pack-reused 0
Распаковка объектов: 100% (11/11), 9.18 KiB | 1.84 MiB/s, готово.
olej@nvidia:~/2021_WORK/git.clouds/gitlab/XXX$ ls -l
итого 4
drwxrwxr-x 3 olej olej 4096 янв 13 14:05 func2for
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/XXX$ cd func2for/
olej@nvidia:~/2021_WORK/git.clouds/gitlab/XXX/func2for$ git status
На ветке master
Ваша ветка обновлена в соответствии с «origin/master».
нечего коммитить, нет изменений в рабочем каталоге
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/gitlab/XXX/func2for$ git log
commit ebaa1ea270e400152942612b1f06974d2ac442d7 (HEAD -> master, origin/ver.2, origin/master, origin/HEAD)
Author: oleg.tsiliuric <oleg.tsiliuric@zodiacsystems.com>
Date: Wed Jan 13 13:40:17 2021 +0200
преобразование алгоритма for_each() в цикл for() вызовов функтора
commit 71e3a2416f72dd73ce35dc50f713cb37b3f39e0b
Author: oleg.tsiliuric <oleg.tsiliuric@zodiacsystems.com>
Date: Wed Jan 13 12:49:05 2021 +0200
Initial commit - алгоритм -> цикл функтора
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
использование GIT
То же самое на Bitbucket: регистрируемся на https://bitbucket.org ...\Olej писал(а): ↑13 янв 2021, 13:54Начну (репетировать) с GitLab ... не потому что он лучше других, а просто потому что там у меня проще и быстрее получается...
Прежде всего нужно один раз (если этого ещё нет) зарегистрироваться, создать логин, на URL https://gitlab.ru/users/sign_in.
P.S. По моему опыту (может это и не так ... но по воплям в Интернет похоже на то) не регистрируйтесь по аккаунтам Google, Microsoft и т.д. ... что они там предложат! ... если у вас там какие-то пароли с "символами" (даже подчёркивание, похоже) - то вы не сможете войти в сетевой репозиторий для pull.
Регистрируйтесь "по людски" : с условным именем, паролем, email на который придёт подтверждение и т.д. ... и будет вам счастье!
После чего можем создавать репозитории в своём рабочем пространстве, на странице URL примерно такого вида:https://bitbucket.org/repo/create?works ... -tsiliuric Там их со временем будет много...
А открытая страница конкретного свеже созданного репозитория (аналогично предыдущему GitLab) имеет вид: Как легко видеть, это достаточно пустой репозиторий, содержащий README.md (описание репозитория) и нужный нам (по предыдущему опыту) .gitignore + здесь же ниже - HELP по использованию...
... все остальные файлы нам предстоит добавлять самостоятельно.
Все файлы здесь же прямо на WEB-странице можно редактировать.
Собственно, по технике работы с Bitbucket есть полнейшее руководство от разработчика, да ещё и переведенное на русский язык: Bitbucket для повышения качества кода. Четыре шага, чтобы начать работу
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: использование GIT
Начинаем мы с того, что клонируем созданный пустой (почти) репозиторий в выбранный локальный каталог, где с ним будет работа:
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/bitbucket$ pwd
/home/olej/2021_WORK/git.clouds/bitbucket
olej@nvidia:~/2021_WORK/git.clouds/bitbucket$ git clone https://oleg-tsiliuric@bitbucket.org/oleg-tsiliuric/func2for.git
Клонирование в «func2for»…
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 0 (delta 0)
Распаковка объектов: 100% (4/4), 1.73 KiB | 147.00 KiB/s, готово.
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/bitbucket$ tree func2for
func2for
└── README.md
0 directories, 1 file
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/bitbucket$ ls -a func2for/
. .. .git .gitignore README.md
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/bitbucket$ cd func2for/
olej@nvidia:~/2021_WORK/git.clouds/bitbucket/func2for$ git branch
* master
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: использование GIT
Копирую туда требуемые мне файлы проекта:
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/bitbucket/func2for$ ls -a
. .. func2for.cc func2for.hist func2forS.cc .git .gitignore Makefile README.md
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/bitbucket/func2for$ head -n3 .gitignore
func2for
func2forS
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/bitbucket/func2for$ git status -s
M .gitignore
?? Makefile
?? func2for.cc
?? func2for.hist
?? func2forS.cc
olej@nvidia:~/2021_WORK/git.clouds/bitbucket/func2for$ git add .
olej@nvidia:~/2021_WORK/git.clouds/bitbucket/func2for$ git status -s
M .gitignore
A Makefile
A func2for.cc
A func2for.hist
A func2forS.cc
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/bitbucket/func2for$ make
g++ -Wall -std=c++11 -O3 func2for.cc -o func2for
g++ -Wall -std=c++11 -O3 func2forS.cc -o func2forS
olej@nvidia:~/2021_WORK/git.clouds/bitbucket/func2for$ ls -a
. .. func2for func2for.cc func2for.hist func2forS func2forS.cc .git .gitignore Makefile README.md
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/bitbucket/func2for$ git status -s
M .gitignore
A Makefile
A func2for.cc
A func2for.hist
A func2forS.cc
Фиксируем изменения.
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/bitbucket/func2for$ git commit -m 'преобразование алгоритма for_each() в цикл for() вызовов функтора'
[master ba8a2a0] преобразование алгоритма for_each() в цикл for() вызовов функтора
5 files changed, 211 insertions(+)
create mode 100644 Makefile
create mode 100644 func2for.cc
create mode 100644 func2for.hist
create mode 100644 func2forS.cc
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: использование GIT
Можно отправлять очередной комит на сервер:
Код: Выделить всё
olej@nvidia:~/2021_WORK/git.clouds/bitbucket/func2for$ git push origin master
Password for 'https://oleg_tsiliuric@bitbucket.org':
Перечисление объектов: 9, готово.
Подсчет объектов: 100% (9/9), готово.
При сжатии изменений используется до 4 потоков
Сжатие объектов: 100% (7/7), готово.
Запись объектов: 100% (7/7), 1.93 KiB | 1.93 MiB/s, готово.
Всего 7 (изменения 2), повторно использовано 0 (изменения 0)
To https://bitbucket.org/oleg_tsiliuric/func2for.git
6fac405..ba8a2a0 master -> master
После всех этих манипуляций, с консольными командами, ваша WEB-страница проекта примет вид: P.S. Обратите внимание, что а). в настройках аккаунта вы можете поменять язык на русский и б). там же в настройках очень полезно добавить SSH-key для доступа к репозиторию по SSH.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей