Я пытаюсь добавить существующий проект C в git. Однако в последний раз я работал над этим проектом около года назад. Если я инициализирую существующий репозиторий проекта, используя следующее,
git init && git add . && git commit -m "Hello World"
дата фиксации будет установлена на текущую дату.
Можно ли установить дату фиксации (первоначальную фиксацию) на основе времени последней модификации папки/файлов проекта?
Обновлять: Включил предыдущие обновления как часть ответа на первую часть.
Один из способов — использовать --date
при фиксации, например:
git commit -m "Hello World" --date "2005-04-07T22:13:13"
Чтобы ответить на первую часть вопроса: «Можно ли установить дату фиксации (первоначальную фиксацию) на основе времени последней модификации папки/файлов проекта?»
Из @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
Как насчет использования этой команды?
ls --full-time --time-style=long-iso | sort -r | awk '{if (NR==2)print $6,$7}'
Можно получить самую последнюю дату и, возможно, использовать xargs с помощью команды git выше?