Я видел множество сообщений об этом ... но я не могу, хоть убей, понять, в чем моя проблема! Google Chrome просто отображает пустую страницу, когда я пытаюсь преобразовать XML с помощью XSL. Когда я просматриваю исходный код, я вижу необработанный XML. IE работает.
У меня есть XML-документ, который выглядит так ...
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="http://localhost/xsl/listXSL.php"?>
<links>
<link id="1" name="Google Home Page" url="http://www.google.com/" clicks="0" />
<link id="2" name="Facebook" url="http://www.facebook.com/" clicks="1" />
<link id="3" name="Gmail" url="http://gmail.com" clicks="2" />
</links>
... а затем связанный файл XSL, который выглядит так ...
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="links/link">
<a>
<xsl:attribute name="href">
<xsl:value-of select="@url" />
</xsl:attribute>
<xsl:value-of select="@name" />
</a><br />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Вы могли заметить, что файл XSL на самом деле является PHP-файл, но он отлично работает в других браузерах, и я пытался изменить его на .xsl для Chrome, но это не помогает. Что я' фу 123: бла-бла foo 555: бла-бла-бла foo 321: blahblah, и я хочу удалить все ...
Простая версия:
Если у меня есть ветка «foo-555», с кучей коммитов с такими сообщениями, как:
и я хочу удалить все коммиты, которые не начинаются с «foo 555:», есть ли способ сделать это с помощью git filter-branch (или любого другого инструмента, если на то пошло)?
Исходная версия (подробнее):
В нашем репозитории есть соглашение, согласно которому каждое сообщение фиксации начинается с определенного шаблона:
Redmine # 555: SOME_MESSAGE
Мы также немного перебазируем, чтобы внести изменения из потенциальной ветки выпуска в ветку конкретной задачи. Другими словами, у меня может быть ветка «foo-555», но прежде чем я объединю ее с веткой «предварительная версия» Мне нужно получить какие-либо коммиты, которые в предварительном выпуске есть, чего нет в foo-555 (чтобы foo-555 мог перемотать вперед слияние с предварительным выпуском).
Однако, поскольку предварительный выпуск иногда меняется, мы иногда могут возникать ситуации, когда вы вводите фиксацию из пре-релиза, но затем эта фиксация удаляется из пре-релиза. Легко идентифицировать коммиты, поступившие из предварительной версии, потому что номер из их сообщения о фиксации не будет соответствовать номеру ветки; например, если я вижу «Redmine # 123: ...» в моей ветке foo-555, я знаю, что это не фиксация из моей ветки.
Итак, теперь вопрос: я бы хотел удалить все утверждает, что «не принадлежит» ветке; другими словами, любая фиксация, которая:
, но, конечно, «555» будет варьироваться от ветки к ветке. Есть ли способ использовать filter-branch (или любой другой инструмент) для этого? В настоящее время я вижу единственный способ сделать это - выполнить интерактивную перебазировку ("git rebase -i") и вручную удалить все "плохие" коммиты.