Выезд log4net. С log4net можно настроить консоль и файл appenders, что желание может произвести сообщения журнала к обоим местам с единственным оператором журнала.
После троллинга волн мира IRC, кто-то дал отличное решение:
git cherry-pick SHA1 --no-commit
git add --patch
Надеюсь, это поможет кому-нибудь еще с тем же вопросом!
РЕДАКТИРОВАТЬ: Хорошо, может быть, это не так. совсем так просто. Вот полные шаги:
Сначала вы должны войти в свой репозиторий, выполнить необходимый cd
-ing, чтобы попасть в рабочий каталог.
Теперь вам нужно добавить удаленную ветку, и затем принеси это. Для этого выполните:
git remote add someUser git: //github.com/someUser/someRepo.git
git fetch someUser
Теперь вы можете запускать такие команды, как git log someUser / master
, чтобы найти коммит SHA1, который вы хотите объединить «частично».
После того, как у вас есть SHA, вы можете запустить:
git cherry-pick -n SHA1
где SHA1
это SHA фиксации, да!
Вполне возможно, что будут конфликты, в зависимости от того, сколько лет фиксации и как часто меняется эта конкретная область проекта. Извините, но вам нужно вручную решить эти проблемы с помощью надежного редактора. Так что вытащите VIM или что-то еще, что вы используете, и устраняйте конфликты, пока не дойдете до стадии, когда вам нравятся изменения.
Теперь вам нужно сбросить индекс до версии HEAD, затем вы можете использовать надежный GIT add --patch
команда, чтобы выбрать и выбрать, какие изменения вы хотите:
git reset HEAD
git add --patch
или git add -p
Ура! Время фиксации:
git commit -m «Я объединил выбранное количество изменений»
Чтобы убрать беспорядок (то, что вы сказали «нет» в git add --patch
) и оставьте только выбранные изменения в вашем рабочем репозитории, запустите:
git reset --hard HEAD
По-видимому, git checkout -f
также является другим вариантом.
Я не понимаю, что вы хотите . Если вы хотите ввести только определенные коммиты из других форков, вы можете использовать git cherry-pick SHA
. Полное описание gitready .
Если вам нужен только порт для фиксации, вам, вероятно, лучше всего выбрать нужный коммит и сбросить файлы, которые вы не хотите трогать.
git cherry-pick SHA1
git checkout HEAD file1 file2 ... fileN
Конечно, если у вас есть несколько измененных частей в файл, и вы хотите сохранить только некоторые из них, у вас нет другого выбора, кроме как отредактировать файл вручную, исключив их изменения.