Как начать работать с 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

См. также

SALE! 50%

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

Использования систем контроля версий — стандарт современной разработки. На курсе научимся использованию Хранилища 1С и GIT при разработке на 1С:Предприятие 8. Разберем подходы и приемы коллективной разработки, научимся самостоятельно настраивать системы и ориентироваться в них.

4900 2450 руб.

29.06.2022    11931    99    4    

131

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

Когда в хранилище одновременно разрабатывают несколько команд, сортировка сделанного и несделанного при формировании релиза и проведение code review по задачам превращаются в непроходимый квест. В таких случаях нужен бранчинг. Расскажем об опыте перехода на новую схему хранения кода для ИТ-департамента.

23.09.2024    2831    kraynev-navi    2    

25

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

Называть Git новой технологией – уже смешно, но для многих 1С-ников это действительно «новое и неизведанное». Расскажем о плюсах и минусах двух главных систем контроля версий в мире 1С: Git и хранилища.

17.09.2024    7280    Golovanoff    69    

26

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

Во многих командах незаслуженно забывают о том, что в базе меняются расширения (как от вендора, так и собственные) и внешние отчеты и обработки. Вплоть до того, что релиз происходит каждый день – меняются печатные формы, отчеты, обработки. Расскажем о том, как выгружать в Git не только изменения конфигурации рабочего контура, но и файлы внешних обработок и расширений.

05.09.2024    2171    ardn    12    

15

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

Заказчики любят EDT+Git за прозрачность и контроль качества. А у разработчиков есть две основные причины не любить EDT – это тормоза и глюки. Расскажем о том, что нужно учесть команде при переходе на EDT+Git.

14.08.2024    7625    lekot    34    

8

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

В «долгоиграющих» проектах стандартный захват объектов 1С в хранилище может привести к длительным простоям других разработчиков. Но и создавать под каждую доработку отдельное хранилище, чтобы использовать технологию разветвленной разработки конфигураций от фирмы «1С» – избыточно. Расскажем о том, как разрабатывать в отдельной базе без ожиданий, а потом с легкостью перенести изменения в хранилище, используя основную идею технологии 1С – конфигурацию на поддержке хранилища.

05.08.2024    4232    sinichenko_alex    16    

25

Групповая разработка (Git, хранилище) Программист Руководитель проекта Стажер Бесплатно (free)

Про изменения и новинки в агрегаторе открытых проектов OpenYellow, которые появились с момента его создания: про портал, Github и Telegram

15.07.2024    3229    bayselonarrend    8    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. capitan 2507 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 75 30.06.19 14:03 Сейчас в теме
(1)Спасибо. Очень интересная статья. Много картинок, слов, работа с ГУИ. А вот у меня просто список команд, чтобы не забыть.
Perfolenta; for_sale; +2 Ответить
6. capitan 2507 30.06.19 19:35 Сейчас в теме
(3)Да я не против, просто показал в какую сторону копать )
johnnyshut23; +1 Ответить
10. johnnyshut23 75 30.06.19 23:15 Сейчас в теме
17. for_sale 976 01.07.19 14:43 Сейчас в теме
(1)
Там - работа с ГУИ, что есть вариант для программиста так себе. Работать с гитом на конфигурации просто так - это геморрой, во всяком случае пока не нашёл примеров, доказывающих обратное. Рабочие для меня варианты - это или внешняя обработка, или какая-то автоматизация (автосборка релизов, автотестирование). Для первого варианта ГУИ не особо нужен, там всего пара команд используется. Для второго ГУИ не нужен вообще. Поэтому сравнение той и этой статьи некорректное.
johnnyshut23; +1 Ответить
2. acanta 30.06.19 13:48 Сейчас в теме
На Ютубе есть ролики от Филиппова. Но вот запомнить с первого раза всю терминологию не объясняя ее кому то, не получилось.
Кот меня слушать не хочет. Коллеги если им надо будет найдут и послушают сами. Что посоветуете?
user811769; johnnyshut23; +2 Ответить
4. johnnyshut23 75 30.06.19 14:04 Сейчас в теме
(2)Круто! Очень хороший ролик, рекомендую, там показывается как в EDT подключить гит и с ним работать. А у меня просто список команд, чтобы не забыть. Клево же)
5. capitan 2507 30.06.19 19:35 Сейчас в теме
(2)
Филиппова
Филиппов в 1С как Валуев в боксе - монументальная личность
user811769; johnnyshut23; +2 Ответить
24. wowik 890 01.07.19 15:58 Сейчас в теме
(5)
Филиппов

а Тайсон кто?
29. capitan 2507 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 163 30.06.19 19:42 Сейчас в теме
пожужу чутка
все это мило конечно... но обо всем писать на этом ресурсе несколько странно
а не логичнее про гит читать в оригинале? или это серия статей про все-все-все? попробую тогда угадаьь, что след.статья об офисной кофеварке ибо тож многие пользуют, но недостаточно эффективно
8. acanta 30.06.19 19:49 Сейчас в теме
(7) конечно, потому что имея офисную кофеварку офисные работники весьма бурно обсуждают может ли новый принтер сварить кофе. Возможно, все хотят пить кофе именно там где сейчас поставили принтер.
johnnyshut23; +1 Ответить
12. johnnyshut23 75 30.06.19 23:18 Сейчас в теме
(8)очень грустно когда нет кофеварки((( или принтера(((
11. johnnyshut23 75 30.06.19 23:17 Сейчас в теме
(7)нет, у нас нет кофеварки((( эта статья, для тех, кто хочет знать какую команду за какой выполнить. И не знает с чего начать.
9. zak555 30.06.19 21:02 Сейчас в теме
13. johnnyshut23 75 01.07.19 11:24 Сейчас в теме
(9)Да. Очень хорошая статья про работу с GUI EDT. У меня просто список команд, чтобы не забыть. Клево же)
14. JohnConnor 57 01.07.19 12:38 Сейчас в теме
(13) конечно клево, копи паста и готово!
15. johnnyshut23 75 01.07.19 12:54 Сейчас в теме
18. azhilichev 214 01.07.19 15:08 Сейчас в теме
Надо почитать вам это: Git Book
Bassgood; CSiER; johnnyshut23; +3 Ответить
19. johnnyshut23 75 01.07.19 15:09 Сейчас в теме
25. for_sale 976 01.07.19 16:02 Сейчас в теме
(18)
Тут принцип Парето можно использовать в квадрате или в кубе - хорошо если 5% всех команд гита пригождаются в 99.99% случаев работы с гитом. Соответственно, перелопатить тонны текста и узнать 10 команд, которые реально понадобятся - это не сильно эффективно. Я вот этот бук когда-то сдуру осилил и даже несколько видеокурсов посмотрел. Думаете, я навскидку вспомню, как мне вернуть нужную версию? Или хотя бы сделать хардрезет? Неа. Т.е. слова помню вроде, но в каком порядке, кто команда, а кто аргумент - нет. Потому что пока нужды не было. И в результате всё заканчивается вот такими же списками команд где-то в блокноте
RFP; JohnConnor; A_Max; johnnyshut23; +4 Ответить
20. for_sale 976 01.07.19 15:28 Сейчас в теме
git checkout helloWorld.txt

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