Обновление локального репозитория с изменениями из репозитория GitHub
567
Я проверил проект локально с GitHub, и с тех пор в этом удаленном хранилище были внесены изменения. Какая правильная команда для обновления моей локальной копии с последними изменениями?
Стоит отметить, что github выпустил набор очень информативных и полезных руководств по использованию git и github. Я нашел их неоценимыми, когда я впервые сделал шаг в Git. help.github.com
Он жаловался: «Вы попросили извлечь из удаленного« источника », но не указали ветку. Поскольку это не настроенный по умолчанию пульт для вашей текущей ветки, вы должны указать ветку в командной строке». Поэтому я попробовал "$ git pull origin master", и он работал нормально.
Хуан Ланус
8
мастер происхождения git pull
Анджей Реманн
1
Я удалил некоторые файлы, и это не приносит их снова, любая идея?
Водолей Power
1
мы делаем git commit перед запуском этого? каждый раз, когда я запускаю эту команду, я получаю 18347213846 измененных файлов, которые я даже не трогал !!!
Оркун Озен
5
Я только что понял, как при извлечении новой ветви удаленного репозитория ветвь с таким именем не создается локально, а вместо этого перетаскивает эту удаленную ветвь в любую локальную ветвь, которая будет проверена. Я не уверен, как отменить этот недостаток канав и повторного клонирования хранилища. В любом случае, кажется, что локальная ветвь независима от удаленной ветки, и всегда следует убедиться, что вы находитесь в намеченной локальной ветке перед извлечением.
Джо Лапп
87
Это должно работать для каждого репо по умолчанию:
git pull origin master
Если ваша ветвь по умолчанию отличается от master, вам нужно указать имя ветки:
Если вы используете git fetchметод, вы также можете получить теги git fetch -t. Если вы удовлетворены изменениями ( git log HEAD..FETCH_HEAD), вы можете объединить их с git merge FETCH_HEAD.
Брэд Гриссом
16
Этот вопрос носит очень общий характер, и я сделаю несколько предположений, чтобы немного его упростить. Мы предполагаем, что вы хотите обновить свою masterветку.
Если вы не внесли никаких изменений локально, вы можете использовать git pullдля отмены любых новых коммитов и добавления их в свой master.
git pull origin master
Если вы внесли изменения и хотите избежать добавления нового коммита слияния, используйте git pull --rebase.
git pull --rebase origin master
git pull --rebase будет работать, даже если вы не внесли изменения и, вероятно, ваш лучший звонок.
Ответы:
Вероятно:
источник
Это должно работать для каждого репо по умолчанию:
Если ваша ветвь по умолчанию отличается от
master
, вам нужно указать имя ветки:источник
Однако вам нужно объединить любые изменения в ваши местные филиалы. Если вы находитесь на ветке, которая отслеживает удаленную ветку на Github, то
сначала сделает выборку, а затем слит в отслеживаемую ветку
источник
git fetch
метод, вы также можете получить тегиgit fetch -t
. Если вы удовлетворены изменениями (git log HEAD..FETCH_HEAD
), вы можете объединить их сgit merge FETCH_HEAD
.Этот вопрос носит очень общий характер, и я сделаю несколько предположений, чтобы немного его упростить. Мы предполагаем, что вы хотите обновить свою
master
ветку.Если вы не внесли никаких изменений локально, вы можете использовать
git pull
для отмены любых новых коммитов и добавления их в свойmaster
.Если вы внесли изменения и хотите избежать добавления нового коммита слияния, используйте
git pull --rebase
.git pull --rebase
будет работать, даже если вы не внесли изменения и, вероятно, ваш лучший звонок.источник
С уже установленным исходным мастером вам просто нужно использовать следующую команду -
источник