Как отменить временные изменения для локальной версии репозитария Git?
Здравствуйте, я не так давно стал использовать Git в своих проектах, постоянно возникает вопрос: локальная версия сайта нуждается в предварительных правках кода, чтобы заработать на локальной машине. Так как эти правки необходимо внести до начала основной работы, то и коммиты соответственно будут одними из первых. Когда процесс разработки завершен и все ветки слиты, перед тем как сделать push на сервер мне необходимо откатить изменения кода которые отвечают за работу сайта на локальной машине, как мне это сделать?
В большинстве ситуаций это пароль от базы к примеру или иные конфиги (сервер unix локальная машина windows - пути различаются), так же это может быть часть кода которую я хочу закомментировать на локальной машине.
Хотите закомментировать временно - зачем вообще в гит коммитить? И зачем хотите комментировать? Может, это должна быть директива конфига на самом деле, отключенная в dev-окружении?
Конфиги вы должны иметь возможность создавать разные. Реализовать можно разными путями - через переменные окружения сообщать, конфиги какого окружения подтаскивать; класть в гит глобальный дефолтный конфиг, а в прописать .gitignore локальный конфиг, который собой может заменять некоторые директивы из глобального и всякие другие способы. В частности, продовых конфигов в гите может не быть вовсе.
dev и prod на разных платформах - вообще порочная практика. Используйте vagrant с окружением, наиболее близким к проду. Ну кроме случая, когда вы пилите что-то коробочное, что должно работать на любых чайниках.
Melkij: Временно комментирую к примеру участок кода который отвечает за передачу данных заказа на третий сервер к примеру. Во время разработки мне ложные заказы не нужны. С конфигами понятно.
Передача данных на стороннюю машину - зачем вообще делать синхронно? Кладёте сообщение в очередь. Демон, который очередь разгребает, на dev вообще не запускаете (кстати, очень простой и дубовый демон, который становится куда легче отлаживать, т.к. выполняет только 1 задачу). Можете подцепиться к очереди и посмотреть, всё ли правильно оформлено для отсылки на сторонний сервис. Не говоря о штатной работе, если удалённая машина недоступна - демон разгребёт очередь попозже.
И это же хороший пример конфигов, которые на dev-машине вовсе неуместны. По крайней мере во включенном состоянии. Даже в синхронном режиме работы запросы просто заворачиваете на эту же локальную машину с простой и глупой эмуляцией API и ведением логов для разбора, правильный ли запрос был отправлен.