Вот как выглядит мой конфигурационный файл git:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = false
[remote "origin"]
url = [email protected]:XXXXXXX/training.test.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "upstream"]
url = https://github.com/YYYYYYY/training.test.git
fetch = +refs/heads/*:refs/remotes/upstream/*
«Происхождение» remote
указывает на мою учетную запись github. «Восходящий поток» remote
указывает на другую учетную запись github, откуда я разветвился на свою.
Q1: так что каждый раз, когда я делаю git pull
, это будет pull
из моего remote
(что является «происхождением»). как я буду делать git pull
из remote upstream
.
Q2: о любых изменениях, которые я commit and push
внес в свой репозиторий, другой пользователь «YYYYY» должен быть уведомлен о запросе на вытягивание. как бы я этого добился?
git pull remoterepo remotebranch[:localbranch]
(e.g.git pull upstream foo:bar
,git pull pustream foo
)или
git checkout --track upstream/remotebranch
, если в вашем локальном репо нет такой ветки с именемremotebranch
вы можете использовать
git branch -r
для отображения удаленных ветвей.Это не сработало:
git pull upstream/master fatal: 'upstream/master' does not appear to be a git repository fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
— person brain storm; 08.01.2014Это означает, что в вашем репозитории
upstream
нет мастера имени ветки. Итак, какую ветку вверх по течению вы хотите тянуть. напримерgit pull upstream/foo master
— person brain storm; 08.01.2014поэтому попробуйте использовать
git branch -r
, чтобы увидеть удаленные ветки. — person brain storm; 08.01.2014когда я делаю
git branch -r
, я вижуupstream/master
, ноgit pull upstream/master
не работает — person brain storm; 08.01.2014Извините.. Не
git pull upstream/master
, аgit pull upstream master
— person brain storm; 08.01.2014или
git checkout --track upstream/master
, если в вашем локальном репо нет ветки с именемmaster
— person brain storm; 08.01.2014git pull upstream branchname
, вы можете получить полный список удаленных филиалов поgit branch -a
пс. о Q2 вы можете найти похожий вопрос, который предлагает другие решения
Это не работает: я получаю эту ошибку: `Вы просили тянуть с удаленного «вверх по течению», но не указали ветку. Поскольку это не настроенный по умолчанию пульт для вашей текущей ветки, вы должны указать ветку в командной строке`. — person brain storm; 08.01.2014
@user1988876 user1988876, тогда вы должны использовать
git pull upstream master
, вы можете использоватьgit branch -a
, чтобы увидеть полный список того, откуда вы можете извлечь — person brain storm; 08.01.2014