2013-04-10 23 views

Trả lời

20

CẬP NHẬT: hành vi được mô tả bên dưới không được dự định. pushed_at sẽ được cập nhật bất kỳ lúc nào một lần commit được đẩy tới bất kỳ nhánh nào của kho lưu trữ. updated_at sẽ được cập nhật bất cứ lúc nào đối tượng kho lưu trữ được cập nhật, ví dụ: khi mô tả hoặc ngôn ngữ chính của kho lưu trữ được cập nhật. Nó không cần thiết mà một push sẽ cập nhật thuộc tính updated_at - điều đó sẽ chỉ xảy ra nếu một push kích hoạt một bản cập nhật cho đối tượng kho lưu trữ. Ví dụ: nếu ngôn ngữ chính của kho lưu trữ là Python và sau đó bạn đã đẩy nhiều mã JavaScript - có thể thay đổi ngôn ngữ chính thành JavaScript, cập nhật thuộc tính language của đối tượng kho lưu trữ và lần lượt cập nhật thuộc tính updated_at. Trước đây, ngôn ngữ chính đã được cập nhật sau mỗi lần đẩy, ngay cả khi nó không thay đổi (không được dự định), vì vậy nó đã kích hoạt bản cập nhật cho updated_at.


Sự khác biệt là pushed_at đại diện cho ngày và thời gian của cam kết cuối cùng, trong khi updated_at đại diện cho ngày và thời gian của sự thay đổi cuối cùng các kho. Một thay đổi đối với kho lưu trữ có thể là một cam kết, nhưng nó cũng có thể là những thứ khác, chẳng hạn như thay đổi mô tả của repo, tạo trang wiki, v.v. Nói cách khác, cam kết là tập hợp con các bản cập nhật, và dấu thời gian pushed_at sẽ do đó hoặc là giống như dấu thời gian updated_at hoặc đó sẽ là dấu thời gian trước đó.

+0

giải thích tuyệt vời cảm ơn bạn Ivan –

+1

Cần lưu ý rằng các giá trị này áp dụng cho toàn bộ kho lưu trữ. Nếu một tác giả cập nhật nói chi nhánh "dev" của họ thì điều này sẽ cập nhật thuộc tính "updated_at" mặc dù default_branch (thường là master) chưa được đẩy tới. – braitsch

Các vấn đề liên quan