Tôi khuyên bạn chỉ cần vượt qua lịch sử cam kết bị lộn xộn.
Hãy nhớ rằng khi bạn nhìn vào lịch sử, bạn thường nhìn vào tổ tiên của một số cam kết hiện tại. Nếu quá trình xem xét mã của bạn tạo ra các nhánh chết cho mã bị từ chối hoặc được gửi lại dưới dạng một cam kết khác, thì những thứ đó sẽ không có trong bất kỳ tổ tiên như vậy, và thường sẽ không được nhìn thấy.
Dưới đây là một ví dụ dài dòng nhưng đầy đủ điều này, sử dụng git log
như người xem lịch sử:
$ git init example
Initialized empty Git repository in /private/tmp/example/.git/
$ cd example/
$ date >date
$ git add date
$ git commit -am base
[master (root-commit) 5108762] base
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 date
$ date >date
$ git commit -am bad
[master 440c3b6] bad
1 files changed, 1 insertions(+), 1 deletions(-)
$ git log
commit 440c3b61b279e8b7cd5f5f656984b63ba18e518b
Author: Tom Anderson <[email protected]>
Date: Sat Mar 10 09:15:48 2012 +0000
bad
commit 5108762ba7011464fe3c57cf762d0d18f337f68c
Author: Tom Anderson <[email protected]>
Date: Sat Mar 10 09:15:28 2012 +0000
base
$ git branch postreview 5108762ba7011464fe3c57cf762d0d18f337f68c
$ git checkout postreview
Switched to branch 'postreview'
$ date >date
$ git commit -am good
[postreview 42e5257] good
1 files changed, 1 insertions(+), 1 deletions(-)
$ git log
commit 42e5257addf73b516676d24e7092b0e4768d3564
Author: Tom Anderson <[email protected]>
Date: Sat Mar 10 09:17:30 2012 +0000
good
commit 5108762ba7011464fe3c57cf762d0d18f337f68c
Author: Tom Anderson <[email protected]>
Date: Sat Mar 10 09:15:28 2012 +0000
base
Mặc dù xấu cam kết là trong kho, nó không hiện lên trong đầu ra git log . Trong trường hợp này, tôi đã tạo một chi nhánh mới để thực hiện công việc sau khi đánh giá của tôi, nhưng trong thực tế, bạn có thể muốn di chuyển tổng thể cho công việc mới, để lại công việc cũ trên một nhánh chết.
Nguồn
2012-03-10 09:21:22
Tôi đã thử cả hai cách tiếp cận và điều này làm việc tuyệt vời cho tôi. Cảm ơn! –