Git. Шпаргалка
Есть три способа открыть страницу руководства по любой команде Git:
Создание локального репозитория
Создание локального репозитория существующего проекта
Добавление файла в репозиторий
Сброс индексации
Игнорирование файлов
Шаблон игнорируемых файлов задается в .gitignore или .git/info/exclude . Пример содержимого:
При этом помним:
Удаление из индекса
При удалении файла с диска, он остаётся в Git и помечается как Cnahget not staged for commit (Изменённый, но не проиндексированный). Для того, чтобы удаление файла попало в индекс, необходимо так же выполнить git rm . С данной команды можно и начинать, по умолчанию удаляется файл из индекса и рабочего каталога
1 ответ
Если вас не волнует слияние:
Это будет именно то, что вы хотите: без слияния, без перебазировки, просто поместите локальную ветвь в то же состояние, что и у удаленного.
В вашем случае, однако, вам это не нужно. Вы хотите создать новую локальную ветвь, которая имеет то же состояние, что и удаленная, поэтому указывайте удаленную ветку при создании локальной с помощью git checkout :
Вы бы использовали git reset —hard если у вас уже есть локальная ветка (например, с некоторыми изменениями в ней), откажитесь от любых изменений, которые вы сделали, и вместо этого возьмите точную версию удаленной ветки.
Чтобы убедиться, что у вас установлено последнее состояние удаленной ветви, используйте git fetch перед проверкой или сбросом.
Git Rebase
При rebase Git по сути копирует набор коммитов и переносит их в другое место. Преимущество rebase в том, что c его помощью можно делать чистые и красивые линейные последовательности коммитов. История коммитов будет чище, если вы применяете rebase.
Код | Описание |
---|---|
git rebase [name] | Rebase |
HEAD — это символическое имя текущего выбранного коммита — это, по сути, тот коммит, над которым мы в данным момент работаем. HEAD всегда указывает на последний коммит из вашего локального дерева. Большинство команд Git, изменяющих рабочее дерево, начнут с изменения HEAD.
Внесение локальных изменений в удаленный репозиторий
Теперь, когда в локальном репозитории были проведены необходимые изменения, их можно загрузить в удаленный репозиторий.
Делается это выполнением команды:
$ git push origin master
При этом потребуется ввести логин и пароль от github. Однако загрузки может не произойти. Причина может крыться в том, что в удаленном репозитории появились изменения, которые отсутствуют в локальном. Чтобы выйти из положения, необходимо забрать эти новые
изменения в локальный репозиторий командой:
$ git pull
Использование SSH ключей
Чтобы избавиться от необходимости каждый раз вводить логин и пароль при отправке измененений в удаленный репозиторий, можно использовать SSH ключи. Для начала ключи надо сгенерировать, выполнив команду:
$ ssh-keygen
Далее 3 раза нажать enter и в дирректории по умолчанию C:Usersимя пользователя.ssh появиться папка с ключами. Нужно открыть файл
id_rsa типа PUB в любом текстовом редакторе и скопировать его содержимое. Затем идем на github в настройки своей учетной записи
После чего в колонке слева выбираем пункт: SSH and GPG keys и жмем зеленую кнопку справа New SSH key
задаем Title, в поле Key вставляем данные, скопированные из ключа и жмем
Слияние веток на github
После того как вы внесли все необходимые изменения в свой удаленный репозиторий, можно отправить запрос на слияние с главным репозиторием проекта OsEngine. Просто нажмите кнопку New pull request
а затем
В данной статье мы рассмотрели основные команды git, их хватит для начала работы над проектом OsEngine, используя git и сервис github.