2012-06-18 5 views
11

Я просто хочу обновить локальные файлы git. но каждый раз, когда я пытаюсь вытащить, я получаю сообщение об ошибке, говоря, что мне нужно сначала зафиксировать определенный файл. Каков способ обновления локального файла без использования commit?git pull (обновить только локальный файл)

здесь сообщение об ошибке

$ мерзавца тянуть Введите фразу для ключа «/c/Users/me/.ssh/id_rsa»: Обновление 4dsdSe6e..70fb5b6 ошибки: локальные изменений в следующем файлы будут перезаписаны с помощью слияния: grails-app/conf/DataSource.groovy Пожалуйста, сделайте свои изменения или запишите их, прежде чем сможете объединиться. Aborting

ответ

19

Если вы не хотите для фиксации вам нужно занести свои изменения. Это похоже на то, что вы ищете:

git stash save "Changes I don't want to commit yet" 
git pull 
git stash pop 

Первой строкой тайников изменений в стек и возвращает код для последней фиксации. Оттуда вы можете тянуть как обычно. После того, как вы потянули, добавьте изменения в свой кошелек обратно на свой код. Это позволит вам сделать притяжение без фиксации кода. Вы можете узнать больше о stashing here.

Надеюсь, что помогло!

+0

Спасибо, что это именно то, что мне нужно. – LynAs

+2

Нет проблем. Однако имейте в виду, что внесение изменений - это не то же самое, что нажать их в удаленный репозиторий. Это хорошая практика совершать ранние и часто в git. Если вы исходите из фона CVS, это может показаться странным, но это часть того, что делает git настолько мощным и универсальным. – bilalq

+0

Спасибо, что было полезно – LynAs

3

Вы пытаетесь вытащить некоторые файлы, которые удалят ваши изменения. Во-первых, зафиксировать изменения с:

git commit -a -m "I have changed XXXX" 

затем вытащить другие:

git pull 

Если никаких проблем не решить, вы можете нажать ваши изменения:

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