Git (Часть 1 — Введение)
В прошлых заметках я писал о создании блога на движке WordPress. У меня есть несколько учебных проектов, о которых я собираюсь написать. При этом желательно предоставить читателям полный исходный код, поэтому я создам открытый репозиторий на GitHub или BitBucket и установлю на свой ПК систему управления версиями Git.
Чем хороша система управления версиями
- Хранение истории изменений проекта. возможность вернуться к той или иной версии, возможность создания ответвлений от генеральной линии развития проекта и пр. Это полезно в том числе, когда над проектом работает только один человек.
- Синхронизация при работе в команде. При работе в команде система контроля версий абсолютно необходима, так как она позволяет членам команды синхронизировать свою работу, т. е. не мешать друг другу, даже тогда, когда они работают над одними и теми же частями проекта.
Книги про Git
Я прочитал две книги про Git:
- David Demaree — Git for Humans — 2016
- Scott Chacon and Ben Straub — Pro Git (Second Edition) — 2014
Последняя книга более исчерпывающая, и ее вполне достаточно, чтобы разобраться в Git.
Установка Git
Git — это разработка Линуса Торвальдса, которая изначально создавалась для Linux.
Есть два способа установить Git на ПК под управлением Windows:
- Установить Git в составе программного пакета Cygwin. Cygwin — это эмулятор POSIX-совместимой среды для Windows или, проще говоря, «эмулятор UNIX», который позволяет устанавливать на ПК под управлением Windows программы, изначально предназначавшиеся для работы под управлением Unix-подобной операционной системы — в том числе программу Git.
- Установить программный пакет Git for Windows, который, согласно Википедии, использует среду MinGW.
Установка Cygwin
Поскольку я в перспективе собираюсь заняться изучением современного стандарта языка Си и поскольку Windows не поддерживает стандарт POSIX, а Microsoft Visual Studio (среда разработки, которая обычно используется для программирования в Windows) поддерживает только самый первый стандарт языка Си — C89, мне в любом случае понадобится Cygwin (или как минимум MinGW, который можно использовать и отдельно, но который тем не менее тоже входит в состав Cygwin). Поэтому я решил ставить Git в составе Cygwin.
Заходим на сайт Cygwin и скачиваем файл setup-x86.exe (или setup-x86_64.exe, если у вас 64-битная Windows), далее я буду называть его просто setup.exe. На момент написания текста самая свежая версия Cygwin была 2.9.0. Запускаем файл setup.exe. При первом запуске мой антивирус помешал установке, поэтому пришлось его отключить и переустановить Cygwin.
Все настройки в диалоге установки я оставил по-умолчанию. После установки я запустил программу Cygwin Terminal из меню Пуск (за ярлыком Cygwin Terminal скрывается программа mintty.exe).
Проблема с домашней папкой
В терминале я увидел, что домашняя папка у меня C:Users\AppDataRoamingSPB_16.6 . Такая домашняя папка мне не понравилась. По идее, домашней должна была быть папка c:cygwinhome . Stack Overflow для изменения папки советовал отредактировать файл с:cygwinetcnsswitch.conf , но это мне не помогло. Оказалось, что nsswitch.conf игнорируется в том случае, если в Windows существует переменная окружения HOME — поэтому я ее просто удалил (при помощи панели управления Windows) и это решило проблему.
Установка Git в Cygwin
В Cygwin Terminal я ввел слово git, на что терминал мне ответил команда не найдена. Честно говоря, я ожидал, что в составе Cygwin будет система управления пакетами APT (Advanced Packaging Tool) — ПО, позволяющее устанавливать в систему программы и библиотеки. Я задал гуглу вопрос как установить Git на Cygwin и оказалось, что программы и библиотеки на Cygwin можно устанавливать только при помощи того же файла setup.exe, который мы запускали, чтобы установить Cygwin (надо запустить setup.exe еще раз — да, он на то и рассчитан, что каждый раз, когда вам нужно будет установить какой-то недостающий программный пакет, вы будете запускать setup.exe) В диалоге выбора устанавливаемых пакетов надо отметить галкой пункт git: Distributed version control system из категории Devel.
Создание удаленного репозитория
Создание локального репозитория
Теперь переходим к запуску программы Git. Запускаю Cygwin Terminal. Прежде всего надо сообщить программе Git имя пользователя и адрес электронной почты. Это нужно будет сделать всего один раз (адрес почты и имя пользователя естественно меняем на свои):
Теперь я должен клонировать удаленный репозиторий, т. е. скачать файлы проекта с BitBucket на свой ПК.
В процессе клонирования программа запрашивает пароль (причем в терминале ввод пароля сбивает с толку: я ввожу пароль, но никакие символы, даже звездочки *, не отображаются).
В результате в моей домашней папке была создана папка osdevlearning, а в ней — папка .git, в которой Git хранит всю служебную информацию для данного репозитория.
Выполняю некие изменения в проекте, например, добавляю в папку osdevlearning файл README.md:
cd osdevlearning
echo «# My project’s README» >> README.md
Индексирую сделанные изменения:
git add README.md
Создаю коммит в локальном репозитории:
git commit -m «Initial commit»
Отправляю коммит в удаленный репозиторий:
git push -u origin master
Здесь origin — это обозначение (alias) для удаленного репозитория, а master — название текущей ветки.
В следующей заметке я приведу типичные примеры работы с Git.
Источник: dvsav.ru
Git for windows что это за программа
РУБРИКИ БЛОГА
Git и GitHub: что это такое и в чём разница
Что такое система контроля версий?
Системы контроля версий (СКВ, VCS, Version Control Systems) — это инструменты, которые позволяют разработчикам сохранять все изменения, внесенные в код. Это незаменимый помощник, который позволяет избежать длительных поисков ошибки.СКВ также упрощает совместную работу над проектом для нескольких разработчиков.
Что такое Git?
Git — распределённая система контроля версий, которая даёт возможность разработчикам отслеживать изменения в файлах и работать совместно с другими разработчиками. Она была разработана в 2005 году Линусом Торвальдсом, создателем Linux, для того, чтобы другие разработчики могли вносить свой вклад в ядро Linux. Git известен своей скоростью, простым дизайном, поддержкой нелинейной разработки, полной децентрализацией и возможностью эффективно работать с большими проектами.
Git стоит отдельно от других СКВ из-за подхода к работе с данными. Большинство других систем хранят информацию в виде списка изменений в файлах. Вместо этого, подход Git к хранению данных больше похож на набор снимков миниатюрной файловой системы. Каждый раз, когда вы сохраняете состояние своего проекта в Git, система запоминает, как выглядит каждый файл в этот момент, и сохраняет ссылку на этот снимок.
-
Бесплатный и open-source. Это значит, что его можно бесплатно скачать и вносить любые изменения в исходный код;
Что такое GitHub?
GitHub — сервис онлайн-хостинга репозиториев, обладающий всеми функциями распределённого контроля версий и функциональностью управления исходным кодом — всё, что поддерживает Git и даже больше. Обычно он используется вместе с Git и даёт разработчикам возможность сохранять их код онлайн, а затем взаимодействовать с другими разработчиками в разных проектах.
Также GitHub может похвастаться контролем доступа, багтрекингом, управлением задачами и вики для каждого проекта. Цель GitHub — содействовать взаимодействию разработчиков.
Git — это инструмент, позволяющий реализовать распределённую систему контроля версий, а GitHub — это сервис для проектов, использующих Git.
Источник: getit.agency
Лучшие клиенты Git GUI для Windows 10/8/7
Некоторые тяжелые пользователи программного обеспечения Microsoft говорят, что они, скорее всего, пойдут с программным гигантом Hyper-V software для виртуализации .
Бесплатные клиенты SSH для Windows 10/8/7
Защищенная оболочка или SSH — это программа, которая позволяет вам входить в удаленную машину, выполнять команды и перемещать файлы. Проверьте это бесплатное клиентское программное обеспечение SSH для Windows.
Лучшие 5 советов по appale, чтобы найти лучшие приложения для Android в продаже
Вот лучшие 5 советов, чтобы найти лучшие приложения для Android на продажу с помощью приложения AppSale.
Источник: ru.joecomp.com