Обновление от автора:
Этот ответ устарел, поскольку text-decor-color теперь поддерживается большинством современных браузеров.
Для точного копирования размера, ширины обводки и расположения нативного text-decoration:underline
без введения дополнительной разметки HTML , вы должны использовать pseudo-element
с em
единицами. Это учитывает точное масштабирование элемента и нативное поведение без дополнительной разметки.
`a {
text-decoration: none;
display: inline-table;
}
a:after {
content: "";
border-bottom: 0.1em solid #f00;
display: table-caption;
caption-side: bottom;
position: relative;
margin-top:-0.15em;
}`
С помощью дисплея: table-caption
и caption-side
на псевдоэлементе и отображении inline-table
, мы можем заставить браузер точно выровнять и линию, и ссылку точно по вертикали, даже при масштабировании.
В этом случае мы используем inline-table вместо inline-block, чтобы заставить псевдо-отображение отображаться без необходимости указывать высоту или отрицательные значения.
JSFIDDLE : https://jsfiddle.net/pohuski/8yfpjuod/8/
CODEPEN : http://codepen.io/pohuski/pen/vEzxPj | (пример с масштабированием)
Успешно протестировано:
Internet Explorer: 8, 9, 10, 11
Firefox: 41, 40, 39, 38, 37, 36
Chrome: 45, 44, 43, 42
Safari: 8, 7, 6,2
Mobile Safari: 9,0, 8,0
Браузер Android: 4.4, 2.3
Dolphin Mobile: 8, 11.4
Вы можете использовать " git mergetool " для слияния, а в современных git (имеется в виду версия 1.6.3 и выше) « git difftool » для сравнения с использованием графических инструментов. Конечно, вам придется сначала настроить их, но они выполняют некоторое автоматическое определение (конечно, с некоторыми жестко запрограммированными предпочтениями), и, если я правильно помню, встроена поддержка opendiff.
И тогда, конечно, вы сможете использовать свой графический инструмент (opendiff / FileMerge), как если бы вы использовали обычный "git diff", например
prompt> git difftool somebranch:UNREADME otherbranch:README
git поддерживает имена веток как часть путей к репозиторию. Например, если в вашем репозитории есть следующие файлы, README
только на master
и UNREADME
только в ветке
:
master:README
branch:UNREADME
Вы можно различать их через git с помощью:
git diff branch:UNREADME master:README
Вы можете получить артефакт репозитория для стандартного вывода с помощью git show
:
git show branch1:UNREADME
Итак, если ваша внешняя утилита сравнения может принимать 2 файла в приглашении bash, вы можете их примерно так:
diff-command <(git show branch1:UNREADME) <(git show master:README)
Где <(...)
синтаксис bash принимает вывод вложенной команды, запускает его в конвейере и помещает путь к файлу конвейера в командной строке.
Если вы в настоящее время оформляете заказ в BranchA, например, вы можете использовать команда:
git diff branchB path/to/common/file/between/branches.txt
Затем вы можете отредактировать разницу, если хотите подмножество изменений, или оставить как есть, а git применить
разницу как патч. Что касается инструмента с графическим интерфейсом, который делает это, надеюсь, у кого-то еще будет предложение.
Из документации вам понадобится что-то похожее на следующее в вашем .git / config файле:
# Our diff algorithm
[diff]
external = opendiff