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

33 Comments

  1. capitan

    Не хотелось бы никого обидеть, но вот пример как 1С программисту начать работать с GIT

    https://infostart.ru/public/1030323/

    А это выдержки из man git

    Reply
  2. acanta

    На Ютубе есть ролики от Филиппова. Но вот запомнить с первого раза всю терминологию не объясняя ее кому то, не получилось.

    Кот меня слушать не хочет. Коллеги если им надо будет найдут и послушают сами. Что посоветуете?

    Reply
  3. johnnyshut23

    (1)Спасибо. Очень интересная статья. Много картинок, слов, работа с ГУИ. А вот у меня просто список команд, чтобы не забыть.

    Reply
  4. johnnyshut23

    (2)Круто! Очень хороший ролик, рекомендую, там показывается как в EDT подключить гит и с ним работать. А у меня просто список команд, чтобы не забыть. Клево же)

    Reply
  5. capitan

    (3)Да я не против, просто показал в какую сторону копать )

    Reply
  6. capitan

    (2)

    Филиппова

    Филиппов в 1С как Валуев в боксе — монументальная личность

    Reply
  7. acanta

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

    Reply
  8. zak555

    Можно почитать ещё вот это:

    https://edt.1c.ru/upload/docs_git/t000003.html#t000003

    Reply
  9. johnnyshut23

    (6)Спасибо)

    Reply
  10. johnnyshut23

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

    Reply
  11. johnnyshut23

    (8)очень грустно когда нет кофеварки((( или принтера(((

    Reply
  12. johnnyshut23

    (9)Да. Очень хорошая статья про работу с GUI EDT. У меня просто список команд, чтобы не забыть. Клево же)

    Reply
  13. JohnConnor

    (13) конечно клево, копи паста и готово!

    Reply
  14. johnnyshut23

    (14)и откуда копи паста?

    Reply
  15. Labotamy

    (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

    Reply
  16. for_sale

    (1)

    Там — работа с ГУИ, что есть вариант для программиста так себе. Работать с гитом на конфигурации просто так — это геморрой, во всяком случае пока не нашёл примеров, доказывающих обратное. Рабочие для меня варианты — это или внешняя обработка, или какая-то автоматизация (автосборка релизов, автотестирование). Для первого варианта ГУИ не особо нужен, там всего пара команд используется. Для второго ГУИ не нужен вообще. Поэтому сравнение той и этой статьи некорректное.

    Reply
  17. azhilichev

    Надо почитать вам это: Git Book

    Reply
  18. johnnyshut23

    (18)Спасибо!)

    Reply
  19. for_sale
    git checkout helloWorld.txt

    мне кажется, или тут ещё должно быть имя (часть имени) коммита, до которого чекаут?

    Reply
  20. johnnyshut23

    (20)в данном контексте она откатится и дополнительных флагов или имен не потребуется

    Reply
  21. for_sale

    (21)

    на последнюю сохранённую версию?

    Reply
  22. johnnyshut23

    (22) Чтобы точнее ответить на вопрос приложил файл который иллюстрирует схему работы гита во время команды checkout.

    Т.е. сбросятся нежелательные изменения в рабочей зоне.

    Reply
  23. wowik

    (5)

    Филиппов

    а Тайсон кто?

    Reply
  24. for_sale

    (18)

    Тут принцип Парето можно использовать в квадрате или в кубе — хорошо если 5% всех команд гита пригождаются в 99.99% случаев работы с гитом. Соответственно, перелопатить тонны текста и узнать 10 команд, которые реально понадобятся — это не сильно эффективно. Я вот этот бук когда-то сдуру осилил и даже несколько видеокурсов посмотрел. Думаете, я навскидку вспомню, как мне вернуть нужную версию? Или хотя бы сделать хардрезет? Неа. Т.е. слова помню вроде, но в каком порядке, кто команда, а кто аргумент — нет. Потому что пока нужды не было. И в результате всё заканчивается вот такими же списками команд где-то в блокноте

    Reply
  25. for_sale

    Вот ещё бы команды настройки мёрджтула и запуска мёрджа и отмены предыдущего коммита для редактирования коммента — и можно в закладки добавлять)

    Reply
  26. johnnyshut23

    (26)Спасибо, хорошее замечание, я подумаю, хотел для них сделать вторую статью, про ветвление рассказать. Может быть и сюда добавлю, еще не думал.

    Reply
  27. for_sale

    (27)

    Рассказать подробно — дело нужное. Но раз в тут формат, «у меня просто список команд, чтобы не забыть», то можно и сюда впихнуть, чтобы уж реально пользоваться этим материалом вместо гугла.

    Reply
  28. capitan

    (24)Нам не друг

    А партнер )

    Reply
  29. silberRus

    Когда долго не пушишь, забывается. Как справочник для начинающих ок, плюсую.

    Reply
  30. johnnyshut23

    (30)спасибо)

    Reply
  31. Evil Beaver

    Ну зачем нужна еще одна статья про гит в 2019 году? Ну уже же действительно полный интернет таких инструкций

    Reply
  32. johnnyshut23

    (32)чтобы потренироваться в изложении мысли, сделать подсказку себе и каждый раз не перерывать интернет))) Спасибо, что обратили внимание, очень ценю Ваш вклад в сообщество, очень уважаю и Вас и Алексея и Артура и остальных ребят (не знаю всех имён ). Благодаря Вам узнал много нового!

    Reply
  33. CheBurator

    (32) интернет — да. а так — есть там где тусуемся. а лезть в интернет без лишней надобности не сильно охота — слишком много мусора и умных материалов для умных.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *