Это ищет элемент с идентификатором list
, который имеет свойство value
, равное 2. То, что Вы хотите, option
ребенок list
.
$("#list option[value='2']").text()
Вы можете использовать git whatchanged --since = "1 день назад" -p
Также требуется аргумент - до
.
«дата» - это немного нечеткое понятие в git. У коммита будет дата автора, которая может быть давно в прошлом, прежде чем кто-то фактически потянет / зафиксирует фиксацию в своем репозитории, также фиксация может быть перебазирована и обновлена, чтобы быть поверх явно более новой фиксации.
A commit также имеет дату фиксации, которая обновляется, если фиксация изменена или изменена каким-либо образом. Эти коммиты с большей вероятностью будут иметь какой-то хронологический порядок, но вы все еще зависите от того, что коммиттер имеет правильное время, установленное на его компьютере, и даже в этом случае, немодифицированный коммит может находиться в функциональной ветке в удаленном репозитории неопределенное время, прежде чем будет объединен с основной веткой центрального репозитория.
Что, вероятно, наиболее полезно для ваших целей, так это дата рефлога в конкретном рассматриваемом репозитории. Если у вас включены рефлоги для каждой ветки (см. git config core.logAllRefUpdates
), вы можете использовать ref @ {date}
синтаксис для указания того, где ветвь находилась в определенное время.
Например,
git log -p master@{2009-07-01}..master@{now}
Вы также можете использовать «нечеткие» описания, например:
git log -p "master@{1 month ago}..master@{yesterday}"
Эти команды покажут все коммиты, у которых есть ' появились 'в данной ветке репозитория, независимо от того, сколько им лет на самом деле в соответствии с их автором и датами фиксации.
Обратите внимание, что журнал ссылок для каждой ветки специфичен для репозитория, поэтому, если вы запускаете журнал на клоне, и вы не вытягиваете (скажем) месяц, затем сразу вытягиваете все изменения за последний месяц, тогда все изменения за последний месяц появятся в @ {1 час назад} . . @ {now}
диапазон. Если вы можете запустить команду log в «центральном» репосте, куда люди отправляют сообщения, то он может делать то, что вы хотите.
Возможно,
$ git format-patch --committer=<who> --since=yesterday --stdout
- это то, что вам нужно (с параметром --stdout или без него)?
Это более забавный ответ, потому что, вероятно, есть способ получше. Это покажет все хэши коммитов на сегодня.
git log --pretty="format:%H %ai" | grep `date +"%Y-%m-%d"` | awk {'print $1'}`
; ·)
Вы также можете использовать git-format-patch для подготовки исправлений (различий) и отправки их по электронной почте.
Используйте параметры [с] или [диапазон версий] для указания диапазона коммитов.
Предыдущие предложения имеют некоторые недостатки. По сути, я искал что-то эквивалентное cvs diff -D "1 день назад" -D "29.02.2010 11:11"
. Собирая все больше и больше информации, я нашел решение.
То, что я пробовал:
git whatchanged --since = "1 день назад" -p
из здесь
Но это дает различие для каждого коммита, даже если есть несколько коммитов в одном файле. Я знаю, что «дата» - это немного расплывчатое понятие в git , я подумал, что должен быть какой-то способ сделать это.
git diff 'master @ {1 день назад} .. master
выдает некоторое предупреждение warning: Журнал для' master 'возвращается только во вторник, 16 марта 2010 г. 14:17:32 +0100.
и не показывает все различия.
git format-patch --since = вчера --stdout
мне ничего не дает.
revs = $ (git log --pretty = "format:% H" --since = "1 день назад"); git diff $ (echo "$ revs" | tail -n1) $ (echo "$ revs "| head -n1)
работает как-то, но кажется сложным и не ограничивается текущей веткой.
Наконец:
git diff $ (git rev-list -n1 --before = "1 день назад" master)
, похоже, работает и способ делать аналогичные действия по умолчанию , хотя и сложнее, чем я думал. Как ни странно, git-cvsserver не поддерживает "cvs diff -D" (без этого он где-то задокументирован).