2015-05-15 5 views
0

$ мерзавец развития отрасли стабильной Git не позволит мне переключаться ветви

У меня есть свойства файла, который имеет пароль для подключения к базе данных, теперь я должен был изменить свойства файла (скажем, xyz.properties) для пароля. Так что я могу использовать на локальном сервере. и добавили этот путь к файлу в .gitignore и $ мерзавец обновление индексных --assume-неизменных xyz.properties

статуса $ мерзавец на ветви стабильной Ваш ветви уточненный с «происхождения/стабильный» , ничего не совершить, рабочий каталог чистой

Теперь я хотел изменить ... ветвь развития $ развития мерзавец кассе

ошибка: Локальные изменения в следующие файлы будут перезаписаны проверки: .gitignore x/y/z/xyz.properties

Пожалуйста, внесите изменения или приложите их, прежде чем вы сможете переключаться между ветвями. Aborting

Теперь Я хочу изменить ветвь развития и сделать отрасль и работать над ними.

Так как я могу достичь этой задачи ... пожалуйста, помогите мне. Заранее спасибо

Edit , когда я попытался $ GIT притон Нет локальных изменений не спасти

Примечание: нужно использовать локальный сервер от каждой ветви, которые требовали мои xyz.properties файлы, которые будут изменен, потому что у моего локального db есть другой пароль, а затем репозиторий.

ответ

2

Это общая проблема, а именно ошибка:

error: Your local changes to the following files would be overwritten by checkout 

Короче говоря, я могу предложить, чтобы удалить файлы (RM), а затем выполнить проверку. В противном случае вы также можете добавить и спрятать их. заставляя проверку, как:

git checkout --force master 

может быть другой вариант.

Я не уверен, но вы уже видели этот вопрос: how to make Git ignore .idea files created by Rubymine? Похоже, у AdamNYC такая же проблема.

1

Убедитесь, копить его и переключить другой филиал

git stash 
git checkout development 

Теперь вы можете работать на развитие отрасли

, когда вы извлекаете обратно, вам нужно восстановить свое рабочее место и удалить тайник

git checkout last_branch 
git stash pop 

Примечание: вы можете проверить свой статус закладок на

git stash list 

если он ничего не возвращает. Ваше рабочее место чистое. Теперь вы можете работать на last_branch.

+0

, когда я делаю $ GIT притон Это показано: Нет локальных изменений для сохранения – Atiq

+0

Если нет локальных изменений для сохранения, вы просто выполнить 'мерзавец контроль development' будет хорошо. Если вы не уверены, вы можете выполнить 'git status', чтобы проверить текущий статус своего рабочего места. – steven

+0

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

0

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

1> Откажитесь от файла xyz.properties и поместите его в .gitignore, но он не будет синхронизироваться с репозиторией, и вы не можете поделиться базовым файлом свойств, который выгоден другим программистам, которые используют один и тот же проект, и требует репозитория и файл свойств.

2> сделайте xyz.properties.example в репо, который будет использоваться совместно и синхронизируется репо и будет доступен всем, кто использует тот же проект. Теперь добавьте xyz.propertes в .gitignore, который когда-либо будет использовать, создаст локальный файл и скопирует содержимое из файла xyz.properties.example и, очевидно, этот файл останется без следа и проигнорирован.

Следовательно, вы можете достичь своей задачи ... лучшего способа.