2014-12-03 3 views
0

У меня проблема с деревом исходников mu. Мой mac разбился, пока я что-то совершал и автоматически подталкивал его к одной из ветвей моего репо.Проблема с источником дерева при сбое Mac

Когда я перезапустил свой mac, моя главная ветка пропала из этого одного локального репо.

Всякий раз, когда я пытаюсь зафиксировать изменения, так что я могу изменить на другую ветку, я получаю следующее:

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree commit -q -F /var/folders/fz/vqrlp05n24gcr0vdp92qyvfjvzfz2f/T/SourceTreeTemp.AlvKt1 
error: unable to resolve reference HEAD: No such file or directory 
fatal: cannot lock HEAD ref 
Completed with errors, see above 

И это не будет на самом деле совершить что-нибудь.

Когда я пытаюсь изменить ветку я получаю:

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree checkout 83382244_Sign_In_Person_Button_-_Update 
error: Your local changes to the following files would be overwritten by checkout: 
    file1 
    file2 
    file3 
    file4 
Please, commit your changes or stash them before you can switch branches. 
Aborting 
Completed with errors, see above 

И это не меняет ветви.

Если я пытаюсь создать филиал я получаю:

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree branch test 
fatal: Failed to resolve HEAD as a valid ref. 
Completed with errors, see above 

Когда я бегу git reset HEAD в терминале я получаю следующее:

fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree. 
Use '--' to separate paths from revisions, like this: 
'git <command> [<revision>...] -- [<file>...]' 

и когда я бегу git checkout master я получаю:

warning: ignoring broken ref refs/heads/master. 
error: Your local changes to the following files would be overwritten by checkout: 
    file1 
    file2 
    file3 
    file4 
Please, commit your changes or stash them before you can switch branches. 
Aborting 

Я в тупике:/

+0

Похоже, что проще всего сделать резервную копию ваших локальных файлов, а затем повторно проверить проект из своего репо. Вероятно, есть фантастический способ исправить это, используя различные команды git, но повторное создание этого, вероятно, будет самым простым решением. –

+0

Да, я подумал, что проблема в том, что если я сделаю резервную копию browser.plist и hostingservices.plist, это будет просто воссоздать вопрос не так ли? Я читал где-то в сети, это, возможно, коррумпированный файл, хотя все мои файлы могут открываться совершенно нормально:/ – Timothy

+0

Я не уверен, что вы подразумеваете под 'browser.plist', но если вы удалите локальный проект (или переместите его на временное пространство), а затем повторная проверка с удаленного репо, тогда проект должен быть в хорошем состоянии. Затем вы можете воссоздать свои изменения (то есть скопировать измененные файлы) и работать. –

ответ

0

я получил кто-то в моем офисе, чтобы дать мне руку ... Я использовал следующий (из моего источника репо папку)

git status 
git stash 

Ни один из них работал правильно. Так что я сделал следующее:

cd .. 
rm -r src 
git clone "SSH clone URL" src 
git pull "SSH clone URL" 
git pull "SSH clone URL" master 
git push "SSH clone URL" master 
git checkout -b branch_name 
git pull "SSH clone URL" branch_name 

Тогда я должен был вернуться в исходное дерево, выберите свой мастер-ветвь, найти соответствующие ветви, которые мне нужно, чтобы иметь возможность переключаться между помощью «Jump To:» выпадающий список на вершине.

После обнаружения у меня был двойной щелчок на ветке в графе и проверка удаленного филиала .. повторять это для всех ветвей, которые мне нужны в моем Source Tree ...

Не уверен, что если бы это было давно но это сработало!

Смежные вопросы