Mỗi cam kết được liên kết với hai ngày, ngày bắt đầu và ngày tác giả. Bạn có thể xem những ngày này với:
git log --format=fuller
Nếu bạn muốn thay đổi ngày tác giả và ngày bắt đầu của 6 lần xác nhận gần nhất, bạn chỉ cần sử dụng một rebase tương tác:
git rebase -i HEAD~6
.
pick c95a4b7 Modification 1
pick 1bc0b44 Modification 2
pick de19ad3 Modification 3
pick c110e7e Modification 4
pick 342256c Modification 5
pick 5108205 Modification 6
# Rebase eadedca..5108205 onto eadedca (6 commands)
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
Đối với tất cả các cam kết nơi bạn muốn thay đổi ngày, thay thế pick
bằng edit
(hoặc chỉ e
), sau đó lưu và thoát khỏi trình chỉnh sửa của bạn.
Bây giờ bạn có thể sửa đổi từng cam kết bằng cách chỉ định ngày tác giả và ngày ủy quyền theo định dạng ISO-8601:
GIT_COMMITTER_DATE="2017-10-08T09:51:07" git commit --amend --date="2017-10-08T09:51:07"
Ngày đầu tiên là ngày cam kết, ngày thứ hai là ngày tác giả.
Sau đó đi đến cam kết tiếp theo với:
git rebase --continue
Lặp lại quá trình cho đến khi bạn sửa đổi tất cả các cam kết của bạn. Kiểm tra sự tiến bộ của bạn với git status
.