Следующий фрагмент кода проверяет, существует ли локальный репозиторий, и синхронизирует c изменения из удаленного репозитория, используя simple- git. У меня были некоторые проблемы с истечением токена JWT
через 24 часа, это было исправлено путем удаления и повторного добавления URL удаленного хранилища.
if (fs.existsSync(cachePath)) {
debug(`Local Path ${cachePath} Exists`);
// debug('Checking `git status` on local repo');
// Fetch
// FIXME: no upstream branch is set -> no tracking information for the current branch
// await git(cachePath).removeRemote('origin');
// await git(cachePath).addRemote('origin', gitURL);
// go into file and replace tocken
// FIXME: fatal branch 'master' doesn't exist
// execSync('git branch --set-upstream-to=origin/master master');
// await git(cachePath).branch(['--set-upstream-to=origin/master', 'master'], (err, data) => {
// if (err) throw new Error(err);
// });
// Show all branches
// debug('SHOW ALL BRANCHES');
// await git(cachePath).branch(['-a'], (err, data) => {
// if (err) throw new Error(err);
// });
/* CMDs
-------------------------------------------------- */
try {
execSync(`cd ${cachePath}`, { stdio: 'inherit' });
execSync('git remote -v', { stdio: 'inherit' });
execSync('git remote remove origin', { stdio: 'inherit' });
execSync(`git remote add origin ${gitURL}`, { stdio: 'inherit' });
execSync('git remote -v', { stdio: 'inherit' });
// execSync('git branch --set-upstream-to=origin/master master', { stdio: 'inherit' });
git(cachePath).branch(['-u', 'origin/master'], (err, data) => {
if (err) throw new Error(err);
console.log(data);
});
execSync('cd /home/ystanev/menlolab/runner', { stdio: 'inherit' });
} catch (e) {
throw new Error(e);
}
/* End of CMDs
-------------------------------------------------- */
debug('GIT PULL');
await git(cachePath)
.outputHandler(outputHandler)
.pull();
Похоже, что предыдущая операция отключила отслеживание ветки в восходящем направлении, и я не могу git fetch/pull
. После вывода git, который я установил для отслеживания, выполнив git branch --set-upstream-to=origin/master master
, проблема, кажется, исправлена.
Я пытался сделать все это, хотя команды bash
, я получаю сообщение об ошибке :
error: the requested upstream branch 'origin/master' does not exist
Кажется, что есть проблемы со связью с удаленным репо, так как те же команды прекрасно запускаются из оболочки bash
в локальном репо.
Любой совет относительно возможной причины?