From b2d53eadecce8b8d047b47cf0e6e2c45ae746750 Mon Sep 17 00:00:00 2001 From: Philip Trubitsyn Date: Sun, 4 Dec 2022 21:21:16 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=84=D0=B0=D0=B9=D0=BB=20Git=5Finstruction?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Git_istruction.md | 91 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 Git_istruction.md diff --git a/Git_istruction.md b/Git_istruction.md new file mode 100644 index 0000000..f18e80c --- /dev/null +++ b/Git_istruction.md @@ -0,0 +1,91 @@ +# Установка Git + + Установить git на свою машину очень просто: + + * Linux — нужно просто открыть терминал и установить приложение при помощи пакетного менеджера вашего дистрибутива. Для Ubuntu команда будет выглядеть следующим образом: + + sudo apt-get install git + + * Windows — мы рекомендуем git for windows, так как он содержит и клиент с графическим интерфейсом, и эмулятор bash. + + * OS X — проще всего воспользоваться homebrew. После его установки запустите в терминале: + + brew install git + + Если вы новичок, клиент с графическим интерфейсом(например GitHub Desktop и Sourcetree) будет полезен, но, тем не менее, знать команды очень важно. + +# Определение состояния + +status — это еще одна важнейшая команда, которая показывает информацию о текущем состоянии репозитория: актуальна ли информация на нём, нет ли чего-то нового, что поменялось, и так далее. Запуск git status на нашем свежесозданном репозитории должен выдать: + +$ git status + +On branch master + +Initial commit + +Untracked files: + +(use "git add ..." to include in what will be committed) + +hello.txt + +Сообщение говорит о том, что файл hello.txt неотслеживаемый. Это значит, что файл новый и система еще не знает, нужно ли следить за изменениями в файле или его можно просто игнорировать. Для того, чтобы начать отслеживать новый файл, нужно его специальным образом объявить. + + +# Подготовка файлов + +В git есть концепция области подготовленных файлов. Можно представить ее как холст, на который наносят изменения, которые нужны в коммите. Сперва он пустой, но затем мы добавляем на него файлы (или части файлов, или даже одиночные строчки) командой add и, наконец, коммитим все нужное в репозиторий (создаем слепок нужного нам состояния) командой commit. +В нашем случае у нас только один файл, так что добавим его: + +$ git add hello.txt + +Если нам нужно добавить все, что находится в директории, мы можем использовать + +$ git add -A + +Проверим статус снова, на этот раз мы должны получить другой ответ: + +$ git status +On branch master +Initial commit +Changes to be committed: +(use "git rm --cached ..." to unstage) +new file: hello.txt + +Файл готов к коммиту. Сообщение о состоянии также говорит нам о том, какие изменения относительно файла были проведены в области подготовки — в данном случае это новый файл, но файлы могут быть модифицированы или удалены. + +# Подключение к удаленному репозиторию + +Чтобы загрузить что-нибудь в удаленный репозиторий, сначала нужно к нему подключиться. Регистрация и установка может занять время, но все подобные сервисы предоставляют хорошую документацию. +Чтобы связать наш локальный репозиторий с репозиторием на GitHub, выполним следующую команду в терминале. Обратите внимание, что нужно обязательно изменить URI репозитория на свой. + +![example](picture.png) + +Проект может иметь несколько удаленных репозиториев одновременно. Чтобы их различать, мы дадим им разные имена. Обычно главный репозиторий называется origin. + +# Отправка изменений на сервер + +Сейчас самое время переслать наш локальный коммит на сервер. Этот процесс происходит каждый раз, когда мы хотим обновить данные в удаленном репозитории. +Команда, предназначенная для этого - push. Она принимает два параметра: имя удаленного репозитория (мы назвали наш origin) и ветку, в которую необходимо внести изменения (master — это ветка по умолчанию для всех репозиториев). + +$ git push origin master + +Counting objects: 3, done. + +Writing objects: 100% (3/3), 212 bytes | 0 bytes/s, done. + +Total 3 (delta 0), reused 0 (delta 0) + +To https://github.com/tutorialzine/awesome-project.git + +_*[new branch] master -> master_ + + +Эта команда немного похожа на git fetch, с той лишь разницей, что при помощи fetch мы импортируем коммиты в локальную ветку, а применив push, мы экспортируем их из локальной в удаленную. Если вам необходимо настроить удаленную ветку используйте git remote. Однако пушить надо осторожно, ведь рассматриваемая команда перезаписывает безвозвратно все изменения. В большинстве случаев, ее используют, чтобы опубликовать выгружаемые локальные изменения в центральный репозиторий. А еще ее применяют для того, чтобы поделиться, внесенными в локальный репозиторий, нововведениями, с коллегами или другими удаленными участниками разработки проекта. Подытожив сказанное, можно назвать git push - командой выгрузки, а git pull и git fetch - командами загрузки или скачивания. После того как вы успешно запушили измененные данные, их необходимо внедрить или интегрировать, при помощи команды слияния git merge. +В зависимости от сервиса, который вы используете, вам может потребоваться аутентифицироваться, чтобы изменения отправились. Если все сделано правильно, то когда вы посмотрите в удаленный репозиторий при помощи браузера, вы увидите файл hello.txt + + +## Для более детального изучения контроля версии, рекомендуется пройти web приложение по [данной ссылке](https://learngitbranching.js.org) + +