Как начать работать с Git

29.06.19

Разработка - Групповая разработка (Git, хранилище)

Если Вы 1С программист, то обязательно наткнетесь на людей, рассказывающих о OScript, DevOps, EDT, SilverBulleters и так далее. Сейчас уже нельзя скрыться от этой информации. Так же было и со мной. В корне всего этого зоопарка лежит понимание и умение работать с Git (Распределённая система управления версиями). Укрупненной информации о ней много, Вы легко её нагуглите сами. В этой статье я старался собрать основные команды, определить их последовательность выполнения и привести краткий пример. Попробуйте выполнить все команды, и Вам станет проще разобраться с остальными программами. Удачи!

Установи GIT
для Windows скачать по ссылке http://msysgit.github.io
для RPM > yum install git-core
для DEB > apt-get install git
 

Настрой Git, так Git связывает Ваш аккаунт и Ваши изменения
git config --global user.name JohnnyDoe          // Ваше имя
git config --global user.email jshut@yandex.ru  // Ваш Email
 

Настрой Git для Windows
git config --global core.autocrlf true
git config --global core.safecrlf false
git config --global core.eol native
 

Создай локальный GIT репозиторий для своего продукта
cd ./git                              // открываем каталог "git" в папке пользователя OS
git init ./PROJECTNAME       // инициализируем каталог проекта. <PROJECTNAME> - любое имя вашего проекта, может не совпадать с именем удаленного репозитория.
cd ./PROJECTNAME             // открываем каталог проекта
 

Подключи стандартные каталоги
git remote add origin https://github.com/johnnyshut/HowToGitHub     // создаем ветвь разработки "origin" в удаленном репозитории
git fetch origin                                                                                // получение изменений и вывод их на экран
git merge origin/master                                                                   // объединение изменений с локальным проектом
 

Создай файл в локальном репозитории
mkdir hello                 // создадим каталог в локальном репозитории
cd hello                      // перейдем в созданный каталог "hello"
touch helloWorld.txt    // создадим файл "helloWorld.txt"!
 

Свяжи новый файл с удаленным репозиторием
git add helloWorld.txt                // отмечаем файл для отправки или команда "git add .", чтобы отметить все файлы 
git commit -m "First Commit"    // помечаем все новые и измененные файлы сообщением (commit)
 

Отправь код на удаленный репозиторий
git push -u origin master   // флаги используются только в первый раз, потом используем команду без флагов "git push"
git status                         // вывод информации об изменениях которые были сделаны
git pull                            // скачивание репозитория, полностью. Выполняет последовательно fetch и merge, без вывода на экран статусов
 

Как вызвать справку?
git help <команда>
git <команда> --help
man git-<команда>
 

Подключаемся на другом компьютере:

Клонирование репозитория
git clone https://github.com/johnnyshut/HowToGitHub     // git скачает удаленный репозиторий в новую папку HowToGitHub и создаст локальный репозиторий
 

После изменений в локальном репозитории, выполняем команды
git add .
git commit -m "I changed the my life!"
git push
 

Откат изменений
git reset HEAD --hard             // полный откат до предыдущего коммита
git checkout helloWorld.txt     // сброс изменений в файле на версию коммита 
git checkout v1                     // откат до установленного тега, например v1
 

P.S. Все команды актуальны для любого сервиса Git
Перед работай с Git зарегистрируйся на github.com и создайте репозиторий
Инструкция по созданию репозитория https://help.github.com/en/articles/creating-a-new-repository

git bash

См. также

Системы контроля версий для 1С-разработчиков.

1С-программирование DevOps и автоматизация разработки Групповая разработка (Git, хранилище) DevOps для 1С Платформа 1С v8.3 Платные (руб)

Основы командной разработки на 1С. Использование систем контроля версий при разработке на платформе 1С:Предприятие 8

4900 руб.

29.06.2022    9141    78    4    

110

Особенности национального Workflow: Github Actions и OneScript

Групповая разработка (Git, хранилище) OneScript Бесплатно (free)

Сегодня мы посмотрим на Github Actions - встроенный инструментарий Github для автоматизации рабочих процессов. Разберем, что это такое, зачем и причем тут OneScript.

25.03.2024    1169    bayselonarrend    3    

35

Автоматизация процесса разработки с помощью сервиса GitFlic

Групповая разработка (Git, хранилище) Бесплатно (free)

GitFlic – первая в России полностью самостоятельная реализация сервиса для хранения репозиториев с исходным кодом. За три года разработки сервис GitFlic стал полноценным инструментом, которым можно заменить GitLab, GitHub и BitBucket. Расскажем о том, как выстроить в GitFlic процесс автоматического тестирования, статического анализа кода и сборки приложений.

05.03.2024    1865    user1989937    6    

15

OpenYellow - рейтинг открытых GitHub репозиториев для платформы 1С:Предприятие

Групповая разработка (Git, хранилище) Бесплатно (free)

Обновляемый топ GitHub репозиториев для 1С по всем языкам программирования и еще немного рассуждений про open-source.

05.02.2024    3780    bayselonarrend    15    

61

Насколько глубок 1С-ный GitHub?

Групповая разработка (Git, хранилище) Бесплатно (free)

Open-source проекты - важная часть мира программного обеспечения. 1С привычно держится немного в стороне от глобальных трендов, но бросить холодный статистический взгляд на положение дел мне показалось небезынтересным.

22.01.2024    7841    bayselonarrend    50    

86

TCP прокси-сервер хранилища конфигурации 1С

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) OneScript Платформа 1С v8.3 Бесплатно (free)

Продолжение истории с прокси хранилища, но уже не на HTTP, а на TCP и без падений по памяти веб-сервера. Проверяем комментарии хранилища, вызываем веб-хуки, старты пайплайнов, gitsync по событию помещения версии в хранилище. И все это полностью на знакомом и понятном OneScript.

17.01.2024    2772    kamisov    17    

57

Отдай корень! Библиотека OneScript для получения информации о захваченных объектах в хранилище

Групповая разработка (Git, хранилище) Бесплатно (free)

Хранилище конфигурации 1С - это инструмент групповой разработки. Работают с хранилищем следующим образом: захватывают какой-либо объект, редактируют, потом отдают его в хранилище. Хранилище помечает уже захваченные объекты и не дает возможности захватить их другим пользователям. Это рождает и самый большой недостаток хранилища - невозможность работы с одним объектом нескольких пользователей, например в случае доработки разных методов в одном большом модуле. Корень конфигурации - это самый верхний ее узел. Только захватив корень, мы можем добавить в конфигурацию новые общие модули, документы, справочники, регистры и подобное. Только захватив корень можно изменить настройки поддержки конфигурации. Соответственно, если корень захвачен одним программистом, другой программист не может добавить новые объекты или снять что-то с поддержки. Потому то и всплывает эта фраза - отдай корень, мне нужно тоже что-то добавить.

26.12.2023    1336    ardn    1    

26

Git Code Review - инструмент для рецензирования кода

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Абонемент ($m)

Git Code Review - инструмент, позволяющий быстро анализировать изменения из git-репозитория прямо в 1С

1 стартмани

20.12.2023    3958    59    salexdv    26    

81
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. capitan 2466 30.06.19 13:25 Сейчас в теме
Не хотелось бы никого обидеть, но вот пример как 1С программисту начать работать с GIT
https://infostart.ru/public/1030323/
А это выдержки из man git
_7445_; cleaner_it; payta; user811769; manlak; wowik; ellavs; johnnyshut23; acanta; +9 Ответить
3. johnnyshut23 71 30.06.19 14:03 Сейчас в теме
(1)Спасибо. Очень интересная статья. Много картинок, слов, работа с ГУИ. А вот у меня просто список команд, чтобы не забыть.
Perfolenta; for_sale; +2 Ответить
6. capitan 2466 30.06.19 19:35 Сейчас в теме
(3)Да я не против, просто показал в какую сторону копать )
johnnyshut23; +1 Ответить
10. johnnyshut23 71 30.06.19 23:15 Сейчас в теме
17. for_sale 971 01.07.19 14:43 Сейчас в теме
(1)
Там - работа с ГУИ, что есть вариант для программиста так себе. Работать с гитом на конфигурации просто так - это геморрой, во всяком случае пока не нашёл примеров, доказывающих обратное. Рабочие для меня варианты - это или внешняя обработка, или какая-то автоматизация (автосборка релизов, автотестирование). Для первого варианта ГУИ не особо нужен, там всего пара команд используется. Для второго ГУИ не нужен вообще. Поэтому сравнение той и этой статьи некорректное.
johnnyshut23; +1 Ответить
2. acanta 30.06.19 13:48 Сейчас в теме
На Ютубе есть ролики от Филиппова. Но вот запомнить с первого раза всю терминологию не объясняя ее кому то, не получилось.
Кот меня слушать не хочет. Коллеги если им надо будет найдут и послушают сами. Что посоветуете?
user811769; johnnyshut23; +2 Ответить
4. johnnyshut23 71 30.06.19 14:04 Сейчас в теме
(2)Круто! Очень хороший ролик, рекомендую, там показывается как в EDT подключить гит и с ним работать. А у меня просто список команд, чтобы не забыть. Клево же)
5. capitan 2466 30.06.19 19:35 Сейчас в теме
(2)
Филиппова
Филиппов в 1С как Валуев в боксе - монументальная личность
user811769; johnnyshut23; +2 Ответить
24. wowik 885 01.07.19 15:58 Сейчас в теме
(5)
Филиппов

а Тайсон кто?
29. capitan 2466 01.07.19 17:13 Сейчас в теме
(24)Нам не друг
А партнер )
16. Labotamy 01.07.19 13:27 Сейчас в теме
(2) С котами лучше не связываться, у них на все свое мнение =)
https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D1%83%D1%82%D1%91%D­0%BD%D0%BA%D0%B0
johnnyshut23; +1 Ответить
7. Fox-trot 156 30.06.19 19:42 Сейчас в теме
пожужу чутка
все это мило конечно... но обо всем писать на этом ресурсе несколько странно
а не логичнее про гит читать в оригинале? или это серия статей про все-все-все? попробую тогда угадаьь, что след.статья об офисной кофеварке ибо тож многие пользуют, но недостаточно эффективно
8. acanta 30.06.19 19:49 Сейчас в теме
(7) конечно, потому что имея офисную кофеварку офисные работники весьма бурно обсуждают может ли новый принтер сварить кофе. Возможно, все хотят пить кофе именно там где сейчас поставили принтер.
johnnyshut23; +1 Ответить
12. johnnyshut23 71 30.06.19 23:18 Сейчас в теме
(8)очень грустно когда нет кофеварки((( или принтера(((
11. johnnyshut23 71 30.06.19 23:17 Сейчас в теме
(7)нет, у нас нет кофеварки((( эта статья, для тех, кто хочет знать какую команду за какой выполнить. И не знает с чего начать.
9. zak555 30.06.19 21:02 Сейчас в теме
13. johnnyshut23 71 01.07.19 11:24 Сейчас в теме
(9)Да. Очень хорошая статья про работу с GUI EDT. У меня просто список команд, чтобы не забыть. Клево же)
14. JohnConnor 64 01.07.19 12:38 Сейчас в теме
(13) конечно клево, копи паста и готово!
15. johnnyshut23 71 01.07.19 12:54 Сейчас в теме
18. azhilichev 213 01.07.19 15:08 Сейчас в теме
Надо почитать вам это: Git Book
Bassgood; CSiER; johnnyshut23; +3 Ответить
19. johnnyshut23 71 01.07.19 15:09 Сейчас в теме
25. for_sale 971 01.07.19 16:02 Сейчас в теме
(18)
Тут принцип Парето можно использовать в квадрате или в кубе - хорошо если 5% всех команд гита пригождаются в 99.99% случаев работы с гитом. Соответственно, перелопатить тонны текста и узнать 10 команд, которые реально понадобятся - это не сильно эффективно. Я вот этот бук когда-то сдуру осилил и даже несколько видеокурсов посмотрел. Думаете, я навскидку вспомню, как мне вернуть нужную версию? Или хотя бы сделать хардрезет? Неа. Т.е. слова помню вроде, но в каком порядке, кто команда, а кто аргумент - нет. Потому что пока нужды не было. И в результате всё заканчивается вот такими же списками команд где-то в блокноте
RFP; JohnConnor; A_Max; johnnyshut23; +4 Ответить
20. for_sale 971 01.07.19 15:28 Сейчас в теме
git checkout helloWorld.txt

мне кажется, или тут ещё должно быть имя (часть имени) коммита, до которого чекаут?
johnnyshut23; +1 Ответить
21. johnnyshut23 71 01.07.19 15:44 Сейчас в теме
(20)в данном контексте она откатится и дополнительных флагов или имен не потребуется
22. for_sale 971 01.07.19 15:46 Сейчас в теме
(21)
на последнюю сохранённую версию?
johnnyshut23; +1 Ответить
23. johnnyshut23 71 01.07.19 15:53 Сейчас в теме
(22) Чтобы точнее ответить на вопрос приложил файл который иллюстрирует схему работы гита во время команды checkout.
Т.е. сбросятся нежелательные изменения в рабочей зоне.
Прикрепленные файлы:
26. for_sale 971 01.07.19 16:19 Сейчас в теме
Вот ещё бы команды настройки мёрджтула и запуска мёрджа и отмены предыдущего коммита для редактирования коммента - и можно в закладки добавлять)
johnnyshut23; +1 Ответить
27. johnnyshut23 71 01.07.19 16:24 Сейчас в теме
(26)Спасибо, хорошее замечание, я подумаю, хотел для них сделать вторую статью, про ветвление рассказать. Может быть и сюда добавлю, еще не думал.
28. for_sale 971 01.07.19 16:28 Сейчас в теме
(27)
Рассказать подробно - дело нужное. Но раз в тут формат, "у меня просто список команд, чтобы не забыть", то можно и сюда впихнуть, чтобы уж реально пользоваться этим материалом вместо гугла.
A_Max; johnnyshut23; +2 Ответить
30. silberRus 72 01.07.19 17:56 Сейчас в теме
Когда долго не пушишь, забывается. Как справочник для начинающих ок, плюсую.
JohnConnor; johnnyshut23; +2 Ответить
31. johnnyshut23 71 01.07.19 17:57 Сейчас в теме
32. Evil Beaver 8107 01.07.19 18:44 Сейчас в теме
Ну зачем нужна еще одна статья про гит в 2019 году? Ну уже же действительно полный интернет таких инструкций
Aletar; wowik; johnnyshut23; +3 Ответить
33. johnnyshut23 71 01.07.19 18:47 Сейчас в теме
(32)чтобы потренироваться в изложении мысли, сделать подсказку себе и каждый раз не перерывать интернет))) Спасибо, что обратили внимание, очень ценю Ваш вклад в сообщество, очень уважаю и Вас и Алексея и Артура и остальных ребят (не знаю всех имён ). Благодаря Вам узнал много нового!
34. CheBurator 3119 02.07.19 23:45 Сейчас в теме
(32) интернет - да. а так - есть там где тусуемся. а лезть в интернет без лишней надобности не сильно охота - слишком много мусора и умных материалов для умных.
johnnyshut23; +1 Ответить
Оставьте свое сообщение