2016-12-02 11 views
2

Обычно, когда я хочу обновить свой проект из удаленного репозитория, я использую следующую командную строку.Что означает флаг -a при использовании git pull -a origin?

git pull -a origin develop 

Я узнал об этом из моих членов команды проекта, но я не мог найти ответ в Интернете, что делает флаг -a. Что означает -a?

+0

Быстрый поиск в Google: https://git-scm.com/docs/git-pull#git-pull--a ** Добавляет имена ссылок и имена объектов извлеченных ссылок на существующее содержимое .git/FETCH_HEAD. Без этой опции старые данные в .git/FETCH_HEAD будут перезаписаны. ** –

ответ

-1

От git pull --help:

-a, --append Append имен и порядковых имена объектов принесенных ссылок к существующему содержанию .git/FETCH_HEAD. Без этой опции старые данные в .git/FETCH_HEAD будут перезаписаны.

0

... pull -a такой же, как --append. Из официальной документации:

-a

--append Append имен рефа и имена объектов принесенных рефов к существующему содержанию .git/FETCH_HEAD. Без этой опции старые данные

in .git/FETCH_HEAD будет перезаписан.

Если вы просто хотите обновить историю вашей отрасли пытаются использовать

мерзавец принести

Объединяет изменения из удаленного хранилища в текущей ветке. В режиме по умолчанию git pull является сокращением для git fetch, за которым следует git merge FETCH_HEAD.

Точнее, git pull запускает git fetch с заданными параметрами и вызывает git merge, чтобы объединить полученные ветви ветви в текущую ветвь . С --rebase, он запускает git rebase вместо git merge.

Документация:

fetch

pull

4

git pull Команда по существу только для удобства ярлык. Сначала он запускает git fetch, затем он запускает другую команду Git. Вторая команда Git по умолчанию равна git merge, но при различных обстоятельствах вы можете сделать вторую команду: git rebase.

Это все, что git pull: Он выполняет две другие команды Git. Все параметры и аргументы в git pull либо управляют той второй командой, которую он использует, либо передаются, как правило, непосредственно одной из других команд.

В этом случае -a или --append передаются git fetch, который говорит ему, чтобы добавить все надуманные ссылки на файл FETCH_HEAD (а не заменять любой существующий файл FETCH_HEAD iwth надуманных ссылок). Если вы не используете FETCH_HEAD, этот параметр бесполезен.


Так как лучший второй команды для запуска может зависеть от результата первой команды, как и удобства идут, это один действительно очень неудобно. Это похоже на то, чтобы решить, ходить ли, ездить или летать в пункт назначения, прежде чем вы узнаете, находится ли он в вашем районе, в вашем городе или на другом континенте.