Nhận ngày tạo của một stash


227

Có cách nào để biết khi nào một stash được tạo ra không?

git stash listchỉ liệt kê các bản gốc và git stash show XXXXXXhiển thị tất cả các tệp và thay đổi, nhưng không liệt kê ngày tạo bản lưu.

Câu trả lời:


362

Thử:

git stash list --date=local

Nó sẽ in một cái gì đó như:

stash@{Thu Mar 21 10:30:17 2013}: WIP on master: 2ffc05b Adding resource

7
Tôi có thể thêm tùy chọn ở đâu đó trong .gitconfig để hiển thị mặc định này không?
Trevoke

2
@Trevoke Hừm, không phải tôi biết. Điều tốt nhất tôi có thể tìm thấy là cái nabble này: git.661346.n2.nabble.com/ Khăn
Igor

9
Tôi thích git stash list --date=relative. Đáng chú ý là việc --dateđến từ git loglệnh chứ không phải stashchính nó, xem tại đây để biết --datecác giá trị có thể : stackoverflow.com/questions/7853332/git-log-date-formats
thnee

7
@Trevoke Tôi đã thêm một bí danh [alias] stashlist = "stash list --date=local" vào tệp ~ / .gitconfig của mình
user848337

5
git stash list --date=shortchỉ cung cấp cho bạn ngày, ở định dạng YYYY-MM-DD có chiều rộng cố định, dễ dàng quét trực quan.
Tor Klingberg

39

Bạn có thể sử dụng --pretty=formatđể đạt được điều này. Ví dụ: điều này tạo ra một danh sách stash bao gồm thời gian tương đối:

git stash list --pretty=format:"%C(red)%h%C(reset) - %C(dim yellow)(%C(bold magenta)%gd%C(dim yellow))%C(reset) %<(70,trunc)%s %C(green)(%cr) %C(bold blue)<%an>%C(reset)"

Tôi có bộ này trong [alias]phần của ~/.gitconfigtệp của mình , để tôi có thể liên kết nó với một sllệnh đơn giản :

[alias]
        co = checkout
        lg = log --graph --pretty=format:\"%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset\" --abbrev-commit
        rl = reflog --pretty=format:\"%Cred%h%Creset %C(auto)%gd%Creset %C(auto)%gs%C(reset) %C(green)(%cr)%C(reset) %C(bold blue)<%an>%Creset\" --abbrev-commit
        sl = stash list --pretty=format:\"%C(red)%h%C(reset) - %C(dim yellow)(%C(bold magenta)%gd%C(dim yellow))%C(reset) %<(70,trunc)%s %C(green)(%cr) %C(bold blue)<%an>%C(reset)\"

(Bạn có thể thấy rằng tôi cũng có các đánh dấu tương tự cho logreflog)

Đây là những gì nó trông giống như: danh sách git stash

Nếu bạn muốn hiển thị ngày thực tế, thay vì thời gian tương đối thì thay thế %(cr)bằng %(ci).


17

git show stash@{0} cũng in ra ngày, cùng với các thông tin khác.


1
Ah tôi đã sử dụng chữ viết tắt 6 ký tự, có lẽ đó là vấn đề. Tôi nghĩ rằng nó cũng đã gây ra lỗi khi tôi thử lệnh đó, nhưng tôi đang ở trên windows, vì vậy đó là một vấn đề hoàn toàn khác :).
Jason

3
À, Windows. Cố gắng sử dụng git trên Windows thường dẫn tôi đến việc muốn làm giảm giá trị máy tính xách tay của tôi;)
bcmcfc

Không xuất hiện để in ngày với Git 2.8.3.
Elijah Lynn

@ElijahLynn Tôi không có 2.8.3. để kiểm tra nhưng nó in một cam kết đầy đủ vào 2.9
bcmcfc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.