Есть ли способ зафиксировать на основе времени последнего изменения папки / файла проекта? - PullRequest
1 голос
/ 28 мая 2019

Я пытаюсь добавить существующий проект C в git.Однако в последний раз я работал над этим проектом около года назад.Если я инициализирую существующее хранилище проекта, используя следующее,

git init && git add . && git commit -m "Hello World"

, дата принятия будет установлена ​​на текущую дату.

Можно ли установить дату фиксации (начальную фиксацию) на основе времени последнего изменения папки / файлов проекта?

Обновление: Включены предыдущие обновления как часть ответа на первую часть.

Ответы [ 2 ]

4 голосов
/ 28 мая 2019

Одним из способов является использование --date при фиксации, например: git commit -m "Hello World" --date "2005-04-07T22:13:13"

1 голос
/ 11 июня 2019

Чтобы ответить на первую часть вопроса: «Можно ли установить дату фиксации (начальную фиксацию) на основе времени последнего изменения папки / файлов проекта?»

Из ответа @JamesJJ я придумал последовательность команд

git init
git add .
ls --full-time --time-style=long-iso | sort -r | awk '{if(NR==2)print $6"T"$7}' | xargs git commit -m "Hello World" --date
  • Для фиксации на основе времени последнего изменения каталога проекта (при условии, что текущий каталог является каталогом проекта),
export temp=`ls --full-time --time-style=long-iso -d . | awk '{print $6"T"$7}'`
git init
git add .
git commit -m "Commit Message" --date $temp
unset temp
  • Для фиксации на основе времени последнего изменения файлов / подкаталогов проекта,
git init
git add .
ls --full-time --time-style=long-iso | awk '{if(NR != 1) print $6"T"$7}' | sort -r | head -n 1 | xargs git commit -m "Commit Message" --date
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...