2014-02-05 4 views
0

git diff дает различные результаты от git diff --summary, и git pull дает мне разные результаты по сравнению. Каждая из приведенных ниже команд говорит мне, что изменилось другое.Что мне нужно сделать, чтобы «git pull» преуспел?

git.diff

$ git diff | grep -i '\-\-\- a/' 
--- a/apps/Makefile 
--- a/apps/s_client.c 
--- a/apps/s_server.c 
--- a/config 
--- a/crypto/Makefile 
--- a/crypto/aes/Makefile 
--- a/crypto/asn1/Makefile 
--- a/crypto/bf/Makefile 
--- a/crypto/bio/Makefile 
<61 total> 
... 

Git Diff --summary

openssl-git$ git diff --summary 
delete mode 100644 test/fips_algvs.c 
delete mode 100644 test/igetest.c 

мерзавец тянуть

openssl-git$ git pull 
Updating ba16824..24e20db 
error: Your local changes to the following files would be overwritten by merge: 
     apps/s_server.c 
Please, commit your changes or stash them before you can merge. 
Aborting 

Я последовал https://stackoverflow.com/questions/1580596/how-do-i-make-git-ignore-mode-changes-chmod, чтобы устранить большинство различий, но все еще есть некоторые проблемы при обновлении репо.

Что именно мне нужно сделать, чтобы обновить этот репозиторий?

ответ

1

Чтобы иметь работу с git pull, похоже, что файл app/s_server.c изменен или не проверен локально, но не зафиксирован, и есть фиксация для того же самого файла. Вы можете переместить этот файл временно или передать его, чтобы тянуть успех, то примирить различия

+1

вы также можете сделать 'Git тайник save'' 'мерзавец pull' мерзавца притона pop' – portforwardpodcast

+0

В зависимости от версии мерзавец, он не может копить неотслеживаемые файлы –

+0

Согласованных однако это не похоже, что он имеет неотслеживаемые файлы – portforwardpodcast

0

Чтобы увидеть список измененных файлов отслеживаются, а

git diff | grep -i '\-\-\- a/' 

вы можете использовать git diff --stat.

git diff --summary показывает только переименование, создание и изменение разрешений файлов.

Когда вы извлекаете изменения из удаленного хранилища, ваша рабочая копия должна быть чистой. В примере, который вы показали, git говорит, что ваш локальный файл apps/s_server.c изменен, и pull также хочет его изменить. Я могу рассказать вам о различных способах временного сохранения локальных изменений при вызове git-pull (особенно с использованием git-stash), но вы, похоже, начинаете с git, и я не хочу больше путать вас с журналом нового git команды. Либо вы вносите свои изменения, и git-pull выполнит слияние локальных и отдаленных изменений или убедитесь, что apps/s_server.c не изменяется локально, прежде чем вы звоните git pull.

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