Проблема с git push при синхронизации с удаленным репо - PullRequest
0 голосов
/ 28 июня 2018

У меня странная проблема с синхронизацией файлов в моем удаленном репо (TFS 2015 Git to VSTS GIT).

У меня есть отчет 1 «sample.txt», который содержит «Hello». Я использую эти команды в cmd:

git clone 
git remote add vsts PAT 
git checkout master 
git push vsts master

Работает без проблем, когда я изменяю файл с Hello на Hello 1 -> Выполнить те же CMD, и я вижу все свои изменения в удаленном репо.

Теперь у меня те же CMD в powershell, где я звоню

if ( $(git remote) -contains 'vsts' )
{
  git remote rm vsts 2>&1|Write-Host
  echo 'VSTS Account removed'
}
git remote add vsts https://Personal%20Access%20Token:TOKEN@my.visualstudio.com/teamproject/_git/repo 2>&1|Write-Host
git checkout ${env:BUILD_SOURCEBRANCHNAME} 2>&1|Write-Host
git push  vsts ${env:BUILD_SOURCEBRANCHNAME} -f 2>&1|Write-Host

Сборка выполнена успешно, но она не синхронизирует мои изменения.

Часто я вижу ошибку:

Previous HEAD position was eb5c087... Updated test.ps1
Your branch is behind 'origin/master' by 9 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)
Switched to branch 'master'

И иногда одни и те же CMD работают из cmd, а не из Powershell.

Помогите, пожалуйста, по этому поводу?

1 Ответ

0 голосов
/ 28 июня 2018

Проблема вызвана тем, что TFS2015 не обновил ветку master автоматически с origin/master во время шага Получить источники . Поэтому вам нужно обновить локальную ветку master веткой origin/master, добавив команду git reset --hard origin/master.

А обновленный скрипт powershell выглядит так:

if ( $(git remote) -contains 'vsts' )
{
    git remote rm vsts 2>&1|Write-Host
    echo 'VSTS Account removed'
}

git remote add vsts https://Personal%20Access%20Token:TOKEN@my.visualstudio.com/teamproject/_git/repo 2>&1|Write-Host

git checkout ${env:BUILD_SOURCEBRANCHNAME} 2>&1|Write-Host
git reset --hard origin/master 2>&1|Write-Host
echo 'update local branch with remote successfully'
git push  vsts ${env:BUILD_SOURCEBRANCHNAME} -f 2>&1|Write-Host
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...