Giter Site home page Giter Site logo

remote's Introduction

Работа с Git

Логотип Git

1. Проверка установленного Git

Вызвать в терминале команду:

git version

Если «Git» установлен, то будет выведено сообщение о версии программы. В противном случае – сообщение об ошибке.

2. Установка Git

Скачиваем последнюю версию «Git» со страницы скачивания, и устанавливаем программу с настройками по умолчанию.

3. Настройка Git

При первом использовании Git необходимо представиться. Для этого в терминале нужно ввести две команды:

git config --global user.name "Ваше_имя_латинскими_буквами"
git config --global user.email ваша_почта@где-то

То же самое можно сделать другим способом.
Вызвать команду git config с одним из параметров:

git config --global -e
git config --local -e
git config --system -e

Выбранный файл конфигурации (global, local или system) откроется в редакторе:

Файл конфигурации в редакторе

Здесь можно ввести все необходимые данные о себе в секции user, прописать пути ко всем своим репозиториям (только в global) в секции safe. Если не знаете, что делать, то в файл system лучше не влезать.
Кроме того, конфигурационные файлы на вашем локальном диске можно редактировать и в текстовом редакторе, например, «Notepad++».

4. Инициализация репозитория

В терминале переходим в директорию, где собираемся создать репозиторий, и даём команду:

git init

5. Запись изменений в репозиторий

Перед внесением изменений в репозиторий желательно проверить, имеются ли на текущий момент какие-либо незафиксированные изменения в нём, а затем уже принимать решение о дальнейших действиях.
Для этого запустите команду:

git status

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

git add <имя_файла>

После добавления в отслеживание, следует зафиксировать изменения командой:

git commit -m "Комментарий"

Примечание: можно зафиксировать изменения, минуя команду git add, командой:

git commit -am "Комментарий"

которая сначала добавит файл в отслеживание, а затем зафиксирует изменения.

Пока изменённый файл не добавлен в отслеживание, можно в терминале посмотреть сделанные в этом файле изменения.
Для этого запустите команду:

git diff

6. Просмотр истории фиксаций

Запустив с одним из параметров команду:

git log
git log --oneline
git log --graph

можно просмотреть всю историю фиксаций:
--oneline – покажет каждую фиксацию одной строкой;
--graph – слева будет графически представлена история фиксаций.
Если происходит многострочный вывод, и в конце появляется двоеточие, то продолжить можно, нажимая, например, клавишу пробел. Прерывается вывод клавишей «q».

7. Перемещение между сохранениями

Перейти от одной фиксации к другой можно с помощью команды:

git checkout <хэш_код>

Примечание: большинство команд «Git» имеют множество параметров (настроек, или опций, кому как удобно). Краткий список параметров для определённой команды можно получить, вызвав:

git <команда> -h

Для получения детального описания вызывайте:

git help <команда>

Справка откроется в веб браузере.

8. Игнорирование файлов

Чтобы исключить из отслеживания в репозитории определённых файлов или папок, необходимо создать в нём файл .gitignore, в который затем вписать их названия, или задать шаблон для их имён.
Шаблон для имён файлов может быть, например, таким *.jpg; *.txt и т.п.

9. Создание веток в Git

По умолчанию название основной ветки в Git – master.
Создать новую ветку можно командой:

git branch <имя_новой_ветки>

а также командой:

git checkout -b <имя_новой_ветки>

которая одновременно создаст новую ветку и перейдёт в неё. Такого же эффекта можно достичь командой:

git switch -c <имя_новой_ветки>

Список веток в репозитории можно посмотреть с помощью команды:

git branch

Текущая ветка будет отмечена звёздочкой – * master

10. Слияние веток и разрешение конфликтов

Для слияния выбранной ветки с текущей, нужно запустить команду:

git merge <название_выбранной_ветки>

Если была изменена одна часть файла в обеих ветках, то может возникнуть конфликт, требующий участия пользователя.
VSCode предлагает разрешение конфликтов, и нужно выбрать один из вариантов, или объединить содержимое по-своему.

11. Удаление веток

Чтобы удалить ненужную ветку, используется команда:

git branch -d <имя_ветки>

При этом текущая ветка не может быть удалена. Необходимо сделать это из другой ветки.
Если удаляемая ветка не была влита в текущую, будет выведено сообщение об ошибке. Чтобы принудительно удалить такую ветку, параметр «-d» вводится в верхнем регистре: «-D».

git branch -D <имя_ветки>

Работа с удалёнными репозиториями

  1. Для начала необходимо создать на удалённом сервере свой репозиторий:
  • создать учетную запись на хосте, например GitHub

  • после регистрации, следуя инструкциям, создать репозиторий.

  1. Связать свой локальный репозиторий с удалённым командой:
git remote add <имя_remote> <url_удалённого_репозитория>

Проверить связку можно командой:

git remote -v

Далее переименовываем ветку master на main:

git branch -M main

Может случиться так, что на компьютере под одной учётной записью пользователя работают несколько человек, и у каждого имеется своя учётная запись на GitHub. Кто-то до Вас уже работал с удалённым репозиторием. В таком случае у Вас не получится отправить изменения в своих репозиториях. Появится следующее сообщение:
remote: Permission to <ваш_репозиторий> denied to <имя_предыдущего_пользователя>
В Windows необходимо выполнить следующие шаги:

  • Пуск > Служебные Windows > Панель управления > Учётные записи пользователей > Управление учётными данными Windows
    Развернуть секцию git:https://github.com и исправить имя пользователя и пароль на свои;

  • вторым шагом изменить привязку Вашего локального Git к удалённому репозиторию. Для этого выполнить:

git credential fill
protocol=https
host=github.com
username=Vash_username
password=Vash_password

в конце дважды нажмите Enter. Если этого не сделать, то появится сообщение:
remote: Support for password authentication was removed on August 13, 2021.
Теперь можно загружать локальный репозиторий на удалённый:

git push -u <имя_remote> <имя_ветви>

Работа с чужими репозиториями

Если хотите принять участие в каком-либо проекте, или работаете в команде, то Вам придётся работать с чужими репозиториями. Для этого нужно от того репозитория создать ответвление (или вилку) у себя.
Зайдите в искомый репозиторий и нажмите кнопку «Fork». В Вашем аккаунте появится его копия. Теперь Вам нужно сделать копию у себя на компьютере:

  • Скопируйте адрес и вставьте в команду
git clone <адрес>

После клонирования можем приступать к работе.

Внесение изменений в чужой репозиторий

  1. В клоне интересующего репозитория на своём компьютере создайте новую ветку (см. выше).
  2. Внесите изменения, которые, как Вы думаете, нужно сделать, и зафиксируйте их (см. выше).
  3. На всякий случай, чтобы убедиться в правильности имени remote и адресов, запустите команду (или сразу переходите к следующему пункту):
git remote -v
  1. Отправьте сделанные изменения на удалённую «вилку»:
git push <имя_remote> <имя_ветки>

Если Вы хотите, чтобы на «вилке» эта ветка имела другое название, используйте команду:

git push <имя_remote> <имя_локальной_ветки>:<имя_удалённой_ветки>

Ставшую ненужной ветку на удалённом репозитории можно удалить командой (внимание на пробел перед двоеточием):

git push <имя_remote> :<имя_ветки>
  1. После загрузки на «вилку», посылаем владельцу исходного репозитория запрос на слияние (pull request).

Нам остаётся только дождаться решения владельца.

remote's People

Contributors

dianaartemenok avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.