Из <удаленного>, но не интегрировать в HEAD:
$ git fetch <remote>
Скачать изменения и напрямую объединить/интегрировать в HEAD:
$ git remote pull <remote> <url>
Получить все изменения от HEAD до локального репозитория:
$ git pull origin master
Получить все изменения от HEAD до локального репозитория без объединения:
$ git pull --rebase <remote> <branch>
Опубликовать локальные изменения на удаленном сервере:
$ git push remote <remote> <branch>
Удалить ветку на удалённом сервере:
$ git push <remote> :<branch> (начиная с Git v1.5.0)
ИЛИ
$ git push <remote> --delete <branch> (начиная с Git v1.7.0)
Публиковать свои теги:
$ git push --tags
$ git config --global merge.tool meld
Использовать настроенное средство слияния для разрешения конфликтов:
$ git mergetool
Объединить ветку с текущим HEAD:
$ git merge <branch>
Перебазировать текущий HEAD на <ветку>:
$ git rebase <branch>
Отменить перебазирование:
$ git rebase --abort
Продолжить перебазирование после разрешения конфликтов:
$ git rebase --continue
Используйте редактор для ручного разрешения конфликтов и (после разрешения) пометьте файл как разрешенный:
$ git add <разрешенный файл>
$ git rm <разрешенный файл>
Сжатие коммитов:
$ git rebase -i <коммит непосредственно перед первым>
Теперь замените это:
pick <commit_id>
pick <commit_id2>
pick <commit_id3>
на это:
pick <commit_id>
squash <commit_id2>
squash <commit_id3>
Отбросить все локальные изменения в рабочем каталоге:
$ git reset --hard HEAD
Извлечь все файлы из области подготовки (т. е. отменить последнее git add
):
$ git reset HEAD
Отменить локальные изменения в определенном файле:
$ git checkout HEAD <file>
Вернуть коммит (создав новый коммит с противоположными изменениями):
$ git revert <commit>
Сбросить указатель HEAD на предыдущий коммит и отменить все изменения с тех пор:
$ git reset --hard <commit>
Сброс указателя HEAD на текущее состояние удаленной ветки.
$ git reset --hard <remote/branch>, например, upstream/master, origin/my-feature
Сбросить указатель HEAD на предыдущий коммит и сохранить все изменения как неустановленные изменения:
$ git reset <commit>
Сбросить указатель HEAD на предыдущий коммит и сохранить незафиксированные локальные изменения:
$ git reset --keep <commit>
Удалите файлы, которые были случайно зафиксированы до того, как они были добавлены в .gitignore
$ git rm -r --cached .
$ git add .
$ git commit -m "удалить файл xyz"
Улучшенный Git-flow
$ brew install git-flow-avh
$ port install git-flow
$ sudo apt-get install git-flow
$ wget -q -O - --no-check-certificate https://raw.githubusercontent.com/petervanderdoes/gitflow/develop/contrib/gitflow-installer.sh install <state> | bash
git flow init
ИЛИ
git flow init -d
``` **Начать новую функцию:**
###### Это действие создаёт новую функциональную ветку на основе «develop» и переключается на неё.
git flow feature start MYFEATURE
**Завершить разработку функции:**
###### Завершите разработку функции. Это действие выполняет следующее:
###### 1) Объединяет MYFEATURE в «develop».
###### 2) Удаляет функциональную ветку.
###### 3) Переключается обратно на ветку «develop».
git flow feature finish MYFEATURE
**Опубликовать функцию:**
###### Вы разрабатываете функцию совместно? Опубликуйте функцию на удалённом сервере, чтобы её могли использовать другие пользователи.
git flow feature publish MYFEATURE
**Получить опубликованную функцию:**
###### Получите функцию, опубликованную другим пользователем.
git flow feature pull origin MYFEATURE
**Отслеживать исходную функцию:**
###### Можно отслеживать функцию в источнике с помощью
git flow feature track MYFEATURE
<hr>
### Сделать релиз
**Подготовка поддержки нового производственного релиза.**
Допускаются незначительные исправления ошибок и подготовка метаданных для выпуска.
**Начать выпуск:**
###### Чтобы начать выпуск, используйте команду git flow release. Она создаёт ветку выпуска, созданную из ветки «develop». При желании вы можете указать [BASE] — хеш SHA-1 коммита, чтобы начать выпуск с него. Коммит должен быть в ветке «develop».
git flow release start RELEASE [BASE]
###### Разумно опубликовать ветку выпуска после её создания, чтобы разрешить коммиты выпуска другими разработчиками. Сделайте это аналогично публикации функции с помощью команды:
git flow release publish RELEASE
###### (Вы можете отслеживать удалённый выпуск с помощью команды ```git flow release track RELEASE```).
**Завершение выпуска:**
###### Завершение выпуска — один из важных шагов в ветвлении git. Он выполняет несколько действий:
###### 1) Объединение ветки выпуска обратно в «master».
###### 2) Пометка выпуска его именем.
###### 3) Обратное объединение выпуска в «develop».
###### 4) Удаление ветки выпуска.
git flow release finish RELEASE
###### Не забудьте отправить свои теги с помощью ```git push --tags```.
<hr>
### Исправления
**Исправления возникают из необходимости немедленно действовать при нежелательном состоянии рабочей версии продукта.** Могут быть ответвлены от соответствующего тега в основной ветке, который отмечает рабочую версию.
**Начало исправления:**
###### Как и другие команды git flow, исправление начинается с
$ git flow hotfix start VERSION [BASENAME]
###### Аргумент version обозначает новое имя выпуска исправления. При желании можно указать basename для начала работы.
**Завершите исправление:**
###### После завершения исправления оно объединяется обратно в develop и master. Кроме того, слияние master помечается версией исправления.
git flow hotfix finish VERSION
<hr>
### Команды
<p align="center">
<img alt="Git" src="./Img/git-flow-commands.png" height="270" width="460">
</p>
<hr>
### Схема Git flow
<p align="center">
<img alt="Git" src="Img/git-flow-commands-without-flow.png">
</p>
<hr>
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )