Единственная ветвь другого репозитория может быть легко помещена под подкаталог, сохраняющий свою историю. Например:
git subtree add --prefix=rails git://github.com/rails/rails.git master
Это будет отображаться как одно комманда, где все файлы главной ветки Rails добавляются в каталог «rails». Однако заголовок commit содержит ссылку на старое дерево истории:
Добавить 'rails /' из commit
blockquote><rev>
Где
<rev>
является SHA-1 фиксирует хэш. Вы все еще можете увидеть историю, вините некоторые изменения.git log <rev> git blame <rev> -- README.md
Обратите внимание, что вы не можете видеть префикс каталога отсюда, так как это фактическая старая ветка остается нетронутой. Вы должны рассматривать это как обычную фиксацию движения файла: вам понадобится дополнительный прыжок при достижении его.
# finishes with all files added at once commit git log rails/README.md # then continue from original tree git log <rev> -- README.md
. Существуют более сложные решения, такие как выполнение этого вручную или переписывание истории, как описано в других ответах.
Команда git-subtree является частью официального git-contrib, некоторые менеджеры пакетов устанавливают его по умолчанию (OS X Homebrew). Но вам, возможно, придется установить его самостоятельно в дополнение к git.
Элементы могут принадлежать больше чем одному классу, таким образом, можно сделать что-то вроде этого:
.DefaultBackColor
{
background-color: #123456;
}
.SomeOtherStyle
{
//other stuff here
}
.DefaultForeColor
{
color:#654321;
}
И затем в части содержания где-нибудь:
<div class="DefaultBackColor SomeOtherStyle DefaultForeColor">Your content</div>
Слабые места здесь - то, что это становится довольно многословным в теле, и Вы вряд ли сможете свалить его к списку цвета только однажды. Но Вы смогли делать это только два или три раза, и можно собрать в группу те цвета, возможно, в их собственном листе. Теперь, когда Вы хотите изменить цветовую схему, они - все вместе, и изменение довольно просто.
Но, да, мои самые большие жалуются с CSS, неспособность определить Ваши собственные константы.
Вы должны запятая разделять каждый идентификатор или класс, например:
h1,h2 {
color: #fff;
}
Лично, я просто использую селектор запятой-separed, но там некоторое решение для записи CSS программно. Возможно, это - немного излишества для Вас более простые потребности, но смотрите на CleverCSS (Python)
Переменные CSS, если это когда-нибудь становится реализованным во всех главных браузерах, могут однажды решить этот вопрос.
До тех пор необходимо будет или скопировать и вставить или использовать препроцессор любого вида, как другие предложили (обычно использование сценариев сервера-sider).
Можно использовать множественное наследование в элементах HTML (например. <div class="one two">
) но я не знаю о способе наличия констант в самих файлах CSS.
Эта ссылка (первое нашло при поиске с помощью Google вопроса), кажется, имеет довольно всесторонний взгляд на проблему:
Насколько я знаю, программно не генерируя файл CSS, нет никакого способа, скажем, определить Ваш любимый оттенок синего цвета (#E0EAF1) в одном и только одном месте.
Вы могли довольно легко записать компьютерную программу для генерации файла. Выполнитесь простое находят и заменяют операцию и затем сохраняют как .css файл.
Пойдите от этого source.css …
h1,h2 {
color: %%YOURFAVORITECOLOR%%;
}
div.something {
border-color: %%YOURFAVORITECOLOR%%;
}
к этому target.css …
h1,h2 {
color: #E0EAF1;
}
div.something {
border-color: #E0EAF1;
}
с кодом как этот … (VB.NET)
Dim CssText As String = System.IO.File.ReadAllText("C:\source.css")
CssText = CssText.Replace("%%YOURFAVORITECOLOR%%", "#E0EAF1")
System.IO.File.WriteAllText("C:\target.css", CssText)