в 2005 году Имеет: • Высокую скорость • Простую архитектуру • Хорошую поддержка нелинейной разработки • Полную децентрализацию • Возможность управления большими проектами git for windows
файлов конфигурации, журналов операций, выполняемых над репозиторием, индекс расположения файлов и сами файлы с кодом Локальный репозиторий — репозиторий Git, расположенный на локальном компьютере Удалённый репозиторий — репозиторий Git, находящийся на удалённом сервере. Форк (англ. Fork) — копия репозитория. Пулл (англ. Pull) — получение последних изменений с удалённого сервера репозитория. Пуш (англ. Push) — отправка всех неотправленных коммитов на удалённый сервер репозитория. Пулл-реквест (англ. Pull request) — запрос на внесения своих изменений в основной (удалённый репозиторий). Кодревью — процесс проверки кода на соответствие стандартом, отсутствие ошибок и внешнему виду. Мёрдж (англ. Merge) — слияние разных версий кода (веток). Мастер (Master) — главная ветка репозитория. Ветка (Branch) —параллельная версия репозитория. Коммит (Commit) — фиксация изменений или запись изменений в репозиторий.
все операции выполняются локально. • Целостность Git — сравнение в хэше SHA-1. • Git обычно только добавляет данные. Зашифрованное число: 012 SHA-1: c4a2d99bc28d236098a095277b7eb0718d6be068
работы с Git Bash: • cd <путь> — смена директории • cd .. — смена директории вверх (двоеточие с пробелом) • ls — список файлов и папок в текущей директории • pwd — полный текущий путь директории • mkdir — создание директории • сtrl + L — очистка экрана • tab — автозаполнение команды в консоли • Стрелки ↑/↓ — выбор введённых ранее команд
индексация нового файла в Git или добавление его к коммиту. • git diff — список изменений по каждому файлу. • git status — список изменённых/добавленных/удалённых файлов. • git commit — создать новый коммит. • git rm — удалить файл в Git и в каталоге. • git log—список коммитов. • git checkout <название> — откатить изменения в файле или перейти на другую ветку. • git help <название> — получить справку по команде.
новый функционал. • Создаёт себе ветку от master’a • Реализует функционал. • Тестирует и рефакторит код. • Делает пулл-реквест. • Пулл-реквест ревьюят, программист переключается на другую задачу. • Если к коду появляются замечания, программист переключается на ветку пулл-реквеста и правит там замечания. • После исправления, коммитит и пушит (для добавления в пулл-реквест). • Переключается обратно на свою рабочую ветку и продолжает писать код. • Цикл повторяется до тех пор, пока пулл-реквест не принимают.
— 56 млн. человек. • Ежегодно: 40 + млн. репозиториев и 1.9 млрд. коммитов. • Большинство IT компаний просят Github при трудоустройстве. • Удобная система пулл-реквестов и обсуждений. • Множество интегрированных сервисов для разработчика. Источник: https://www.opennet.ru/opennews/art.shtml?num=54186
GitHub • Подключиться через SSH к GitHub • Отвести ветку от мастера вашего репозитория: ✔Git checkout master ✔Git branch homework-2 • Создать папку с проектом Visual Studio • Написать код и сделать коммиты: ✔После каждого значимого продвижения ✔git add на каждый новый файл ✔git commit -a –m homework homework “ОПИСАНИЕ”
✔git push -u origin homework-2. • На гитхабе, делаете Pull request ✔Выбираете ветку в «Branch:»; ✔Жмёте на pull request; ✔Вводите описание pull request’a; ✔Жмёте на create pull request; • Ссылку на то, что получилось, выкладываете через форму. • Ожидаете комментариев.
локальной копии! • Не забывайте делать git checkout «название» при исправлении комментариев. • После того как исправили git push (без –u!). • Когда задача принята, merge pull request на гитхабе и удаляете ветку. Что выкладывать: • .cpp, .h-файлы, .vcxproj, .sln. • Текстовые файлы, нужные для работы программы.