Tôi thấy mình sửa đổi cam kết của tôi khá thường xuyên. Tôi không stash
rất nhiều vì tôi có xu hướng quên tôi đã làm như vậy, đặc biệt là khi tôi muốn tiết kiệm những gì tôi đã làm trước khi tôi rời đi hoặc trước một ngày cuối tuần, vì vậy tôi làm một "dự thảo" cam kết. Chỉ có điều là, khi tôi sửa đổi cam kết, nó vẫn được đặt cho ngày tác giả ban đầu. Có cách nào (đơn giản) để cập nhật nó khi sửa đổi không?Cập nhật git commit author date khi sửa đổi
Trả lời
Bạn có thể thay đổi ngày tác giả với thông số --date
thành git commit
. Vì vậy, nếu bạn muốn sửa đổi cam kết cuối cùng, và cập nhật ngày tác giả của nó đến ngày và thời gian hiện tại, bạn có thể làm:
git commit --amend --date="$(date -R)"
(Các -R
tham số để date
nói với nó để sản lượng ngày ở định dạng RFC 2822 . Đây là một trong những date formats understood by git commit
)
FTR, trông giống như trên OS X, 'ngày' không biết' -R'. Sử dụng 'date' mà không có tùy chọn nào đã làm công việc anyway – ksol
Lưu ý rằng nếu bạn muốn điều này làm bí danh, bạn cần phải thêm một'! 'Và thoát khỏi dấu ngoặc kép, ví dụ: 'can =! git commit --amend --date = \" $ (date -R) \ "' –
'date -R' không hoạt động trên OSX, sử dụng' date +% s' thay vì – stash
một cách khác để làm điều này là
git commit --amend --reset-author
này thay đổi tác giả cam kết cũng như ngày -. nhưng nếu nó đã được ban unpushed bạn cam kết thì đó là một không -op.
Bạn cũng có thể thêm --no-edit
nếu bạn muốn cập nhật ngày trên nhiều lần commit nhưng bạn muốn thông báo cam kết không bị ảnh hưởng. Bằng cách này, bạn sẽ không được nhắc chỉnh sửa tin nhắn cho mỗi lần commit.
Tôi thích câu trả lời của Mark và đã sử dụng nó nhiều lần, nhưng giờ tôi đang ở trên OS X và date -R
không được hỗ trợ. Nhưng mọi thứ dễ hơn nhiều so với câu trả lời ban đầu khiến chúng tôi nghĩ, chỉ cần sử dụng chuỗi trống!
git commit --date= --amend
git commit --amend --date=now
(Git phiên bản 2.7.0)
Tôi tạo ra gói NPM này nếu ai đó vẫn đang tìm kiếm một cách đơn giản để thay đổi ngày của nhiều cam kết.
https://github.com/bitriddler/git-change-date
Cách sử dụng:
npm install -g git-change-date
cd [your-directory]
git-change-date
- 1. Netbeans: cách thay đổi @author
- 2. Git commit bash script
- 3. Git-Tfs: Một thay đổi TFS cho mỗi Commit Git?
- 4. Nhật ký Git không hiển thị thay đổi submodule
- 5. git commit -a confused
- 6. Lỗi homebrew khi cập nhật git
- 7. Khi nào tôi cần thực hiện "git pull", trước hoặc sau "git add, git commit"?
- 8. Git: cập nhật một kho lưu trữ để sửa đổi nhất định
- 9. GIT Log or Commit Monitor
- 10. git commit directory
- 11. Tại sao 'git commit' không lưu thay đổi của tôi?
- 12. cập nhật chi nhánh sử dụng git pull
- 13. git commit - format?
- 14. Cập nhật tên git repo
- 15. Git hook, sửa đổi các tệp cam kết
- 16. git add. vs git commit -a
- 17. cakePHP - trường được sửa đổi không cập nhật
- 18. Lỗi khi cập nhật thay đổi svn
- 19. Nhật ký Git: nhật ký các bản sửa đổi trong tương lai
- 20. Trì hoãn cập nhật DataGridView khi chỉnh sửa DataTable
- 21. Tham chiếu FETCH_HEAD không cập nhật chính xác sau khi "git fetch"
- 22. Postgresql - quy tắc cập nhật - có thể có ngày sửa đổi lần cuối, tự động cập nhật "khi cập nhật" của hàng đó?
- 23. Lỗi Fatal khi cập nhật submodule sử dụng GIT
- 24. bitbucket tước git sửa đổi
- 25. Tại sao git nói tôi 40 cam kết trước khi tôi có vẻ được cập nhật và bản push-pull (không có tệp) sửa lỗi đó?
- 26. Cách ngăn CouchDB tạo bản sửa đổi tài liệu khi cập nhật các quầy đơn giản
- 27. Làm cách nào để cập nhật Chế độ xem Android khi sửa đổi?
- 28. Kích hoạt cập nhật SQL chỉ khi cột được sửa đổi
- 29. đăng commit hook để cập nhật một tập tin theo phiên bản
- 30. lỗi hợp nhất git push, nhưng git pull đã được cập nhật. reclone cố gắng, cùng một vấn đề
Điều này đặc biệt hữu ích khi bạn thực hiện rebase tương tác và mong muốn GitHub để hiển thị các cam kết trong Yêu cầu Kéo để cây thay vì thứ tự ngày. – Sukima