Я пробую Git для локального управления рабочим процессом, чтобы предложить его для своей команды. Поэтому я бы хотел полностью обдумать это, и я столкнулся с чем-то, чего я не понимаю.
Там, где я пришел в git-land, у меня был SVN-репозиторий, над которым работали я и еще один разработчик. Наш премьер-министр изменил график проекта так, что его подпроект должен быть запущен практически сразу, а мой - примерно через месяц. Мы оба разрабатываем в одном репозитории SVN, и мои материалы уже становятся видимыми для пользователя, и поэтому их необходимо резервировать для предстоящей производственной миграции.
Я обновил свой рабочий каталог SVN. Я инициировал git-репозиторий в том же каталоге (игнорируя .svn и т. Д.). Я сделал git branch map-dev
, чтобы создать ветку разработки для моего (связанного с картой) подпроекта. Я сделал git checkout master
, чтобы вернуться в ветку с синхронизацией SVN, и отредактировал эти файлы, чтобы забрать мою работу. Как только ранние части моего проекта перестали быть видимыми, я взял на себя обязательство git (с комментарием «материал для поиска по карте сделан невидимым»), зафиксировал SVN и подтолкнул содержимое SVN к подготовке. Так что теперь в том, что происходит на промежуточном / тестовом сервере, нет ничего моего и всего его, и это нормально.
Через несколько дней я развился в своей ветке map-dev
, и мой коллега зарегистрировал кое-что в SVN, которое ДЕЙСТВИТЕЛЬНО не влияет на то, что я делаю, но я бы хотел остаться в синхронизировать с.
I git checkout master
. Я svn up
. Я git commit -a
с комментарием "обновление из SVN".
Теперь я думаю, хорошо, перебазируйте map-dev
с этими изменениями в мастере, верно? Так что я делаю это, я разрешаю конфликт или два, и все кажется неуклюжим. Затем я замечаю, что изменения, которые я зафиксировал в master
, которые называются «материал для поиска по карте, сделанный невидимым», являются актуальными. В моей ветке разработчика не было более поздних коммитов, просто так было, когда репо был впервые зафиксирован.
Итак. Я использовал git revert --hard ORIG_HEAD
, чтобы вернуться туда, где я был до ребазинга. Что я хочу, так это изменения CSV, которые я только что добавил в master
, но НЕ коммит, сделавший мою работу невидимой. Как мне это сделать?