Я клонировал репозиторий и master
ответвление в моем repo отслеживает origin/master
. Я создал a work
перейдите и измененный некоторые файлы конфигурации, характерные для моей dev машины, чтобы заставить приложение работать.
Мой нормальный рабочий процесс должен будет переключиться на master
ответвление, изменения слияния, внесенные в work
ответвление и push
те изменения в восходящем направлении. Проблема состоит в том, что я не хочу, чтобы мой определенный chnages был продвинут. Когда я объединяю мой work
ответвление в master
те изменения объединяются также.
Единственное решение, которое я нашел до сих пор, не состоит в том, чтобы фиксировать те изменения в work
но это не удовлетворительное решение.
BigDecimal
не предоставляет эти методы, поскольку BigDecimal
моделирует рациональное число. Тригонометрические функции, квадратные корни и степени к нецелым числам (которые, я полагаю, включают квадратные корни) все генерируют иррациональные числа.
Их можно аппроксимировать числом произвольной точности, но точное значение нельзя сохранить в BigDecimal
. Это не совсем то, для чего они нужны. Если вы в любом случае что-то приближаете, вы также можете использовать двойной
.
У вас есть два варианта, насколько я знаю:
используйте уже предложенный вариант «Рабочий Набор»: вы можете создавать пользовательские группы, использовать их для фокусировки на конкретной области проекта, активировать их через Mylin; действительно мощный инструмент действительно
использует базовую концепцию рабочего пространства, которая позволяет работать над многими проектами и соотносить их (через закладку Build path «Projects» и «Java EE Module Dependencies») чтобы при необходимости использования ресурсов из других проектов или их развертывания вместе с основным веб-приложением Eclipse сделал это для вас
Если вы хотите предотвратить фиксацию (поэтому также толкая) эти локальные файлы конфигурации, можно использовать git update-index --assume-unchanged . Предполагается, что файлы, помеченные этим флагом, никогда не изменятся (пока не будет сброшен флаг с --no-предполагаемо-неизмененным)
Один из способов решить эту проблему - "вишня-выбирать" каждое изменение из вашей рабочей ветки в мастер перед тем, как вы будете проталкивать вверх по течению. Я использовал технику, при которой я включаю слово типа NOCOMMIT в сообщение о фиксации только для локальных изменений, а затем использую скрипт оболочки, что-то вроде этого:
#!/bin/sh
BRANCH=`git branch | grep ^\\* | cut -d' ' -f2`
if [ $BRANCH != "master" ]; then
echo "$0: Current branch is not master"
exit 1
fi
git log --pretty=oneline work...master | grep -v -E '(NOCOMMIT|DEBUG):' | cut -d' ' -f1 | tac | xargs -l git cherry-pick
Эта вишня выбирает каждое изменение, которое не помечено NOCOMMIT (или DEBUG) в основной ветке.
Если файлы еще не отслеживаются, вы можете добавить их в файл .gitignore в свой локальный репозиторий, в противном случае вам нужно будет использовать unde update-index-index-index --assume-без изменений
, как сказал Маурисио Отказ
Ниже приведена дополнительная информация о файлах .gitignore: