Git игнорировать изменения, которые соответствуют шаблону регулярного выражения или аналогичному поведению [duplicate]

Используйте методы groupby и idxmax:

  1. передать col date в datetime:
    df['date']=pd.to_datetime(df['date'])
    
  2. получить индекс max столбца date, после groupyby ad_id:
    idx=df.groupby(by='ad_id')['date'].idxmax()
    
  3. получить требуемые данные:
    df_max=df.loc[idx,]
    

Out [54]:

ad_id  price       date
7     22      2 2018-06-11
6     23      2 2018-06-22
2     24      2 2018-06-30
3     28      5 2018-06-22
8
задан Jacob Dorman 12 September 2012 в 07:54
поделиться

2 ответа

Нет

Git основан на файлах, он не будет изменять содержимое отслеживаемых файлов для получения различий.

Возможные альтернативы

Удалить cruft

Не включайте таблицы / данные в дампы db, которые вам не нужны. Если это не создает различий, вам не нужно предпринимать дополнительные шаги, чтобы игнорировать / исправлять его.

Итак, если, например, проблема заключается в удалении статей, которые вы не хотите создавать, удалите их из процесса резервного копирования:

mysqldump -c -w "articles.deleted IS NULL" articles > backup.sql 

Почтовый процесс

После этого обработайте дамп базы данных, чтобы удалить те вещи, которые вам не нужны. В качестве примера, вот выдержка из вспомогательного скрипта db dump, который я использую:

#!/bin/bash
mysqldump -dRC --skip-dump-date --skip-add-drop-table --default-character-set=utf8 database $@ > schema.sql
sed -i 's/ AUTO_INCREMENT=[0-9]\+//' schema.sql

Этот пример (только для иллюстрации) удаляет значения автоинкремента из операторов create table, чтобы они не генерировали различия в (контролируемый версией) файл schema.sql.

6
ответ дан AD7six 22 August 2018 в 18:59
поделиться

Если git не может этого сделать, два решения, которые я вижу:

  1. Измените сценарий, который я использую, чтобы сбросить базу данных, чтобы удалить вещи, которые не имеют отношения к управлению версиями. (недостаток: удаление некоторых из этих вещей может привести к тому, что дамп больше не будет жизнеспособен для импорта).
  2. Храните каждый дамп базы данных где-то в другом месте (возможно, так называемый commitID каким-то образом в пределах крюка) и версия управляет модифицированной версией. например, cat dump.sql | grep -v "_session" >> dump.sql, но было бы идеально, если бы я мог добавить grep, подобный этому, где-нибудь.
1
ответ дан jskroch 22 August 2018 в 18:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: