Интерактивная rebase с --autosquash
- это то, что я часто использую, когда мне нужно исправлять предыдущие, фиксирует глубже в истории. Это существенно ускоряет процесс, который иллюстрирует ответ ZelluX, и особенно удобен, когда у вас есть несколько коммитов, которые вам нужно отредактировать.
Из документации:
--autosquash
Когда сообщение журнала фиксации начинается с «squash! ...» (или «fixup! ...»), и есть фиксация, название которой начинается с того же ..., автоматически изменяет список дел rebate -i, так что фиксация, помеченная для раздачи, появляется сразу после модификации фиксации
Предположим, что у вас есть история, которая выглядит так:
$ git log --graph --oneline * b42d293 Commit3 * e8adec4 Commit2 * faaf19f Commit1
и у вас есть изменения, которые вы хотите внести в Commit2, затем выполните свои изменения с помощью
$ git commit -m "fixup! Commit2"
, иначе вы можете использовать commit-sha вместо сообщения commit, поэтому
"fixup! e8adec4
или даже префикс сообщение фиксации.Затем инициируйте интерактивную rebase на фиксации до
$ git rebase e8adec4^ -i --autosquash
, который откроет ваш редактор с уже правильно упорядоченными коммитами
pick e8adec4 Commit2 fixup 54e1a99 fixup! Commit2 pick b42d293 Commit3
все, что вам нужно сделать, это сохранить и выйти [/ g1 0]
Ответ на вопрос: «Могу ли я автоматизировать ...» - - да .
iTunes - это DACP -совместимый музыкальный проигрыватель ( https://en.wikipedia.org/wiki/Digital_Audio_Control_Protocol ).
Существует множество реализаций DACP сообществом, но главный недостаток заключается в том, что:
Протокол DACP - это 100% RESTful-HTTP-вызовы, которые должны быть реверсивно спроектированы с помощью «сниффинга». связь между Itunes и Apple Remote. Это утомительная задача каждый раз, когда Apple что-то меняет, хотя бы малейшим образом, отдельным разработчикам предстоит проделать большую работу.
blockquote>Достойный пример того, как это делается: https://github.com/scott-t/iMote
Однако для того, чтобы скомпилировать и запустить его вам нужно заполнить ссылки, и если вы не хотите скомпилировать для фреймворка 3.5, вам нужно заменить часть кода. С другой стороны, используемый Zeroconf также поддерживает асинхронные вызовы .net core и .
На темных сторонах серого у вас есть возможность декомпилировать приложение, которое, как вы знаете, уже делает это. Популярными декомпиляторами .net являются ILSpy и ReSharper.