Có cách nào để kiểm tra tính toàn vẹn của repo nhân bản không?


9

Tôi đã kiểm tra một repo từ xa. Bây giờ tôi đã thực hiện một số thao tác thêm một số tệp vào repo. cũng như (có lẽ) loại bỏ một số tệp trong repo. Trong cả hai trường hợp, git không được thông báo về những thay đổi. Có cách nào để git kiểm tra tính toàn vẹn của repo. và thông báo cho tôi bất cứ tập tin nào đã được thay đổi (hoặc không)?

Tôi đã xem bài đăng này 1 nhưng dunno nếu nó bao gồm kịch bản tôi đã chia sẻ ở trên. Là $git fsckđủ? Nếu tôi xóa một tập tin từ repo địa phương. Git sẽ nói / thể hiện nó như thế nào?

Rất mong nhận được câu trả lời.


Nhìn vào nhật ký trên hai kho? Bạn có thể giải thích thêm về những gì bạn đang bối rối?
Zoredache

@Zoredache cảm ơn bạn đã trả lời. Tôi đã chỉnh sửa bài đăng của mình nhưng để rõ ràng, nếu tôi đã xóa hoặc thêm tệp sau khi thực hiện $git pull origin master. Trong trường hợp như vậy, các bản ghi git sẽ giống hệt nhau (tôi đoán). Chỉ để kiểm tra nó tôi đã thêm một vài tập tin vào git repo. và đã thử $git fsck. Nó không nhận được hoặc thậm chí cho tôi biết rằng những tệp đó không phải là một phần của repo. Đây là những gì đầu ra $git fsckcho thấy: -
shirish

$ git fsck Checking object directories: 100% (256/256), done. Checking objects: 100% (1974/1974), done. Như có thể thấy, nó đã không cho tôi biết rằng một số tệp đã được thêm vào repo. đó là untracked (tức là git không biết gì về họ như tôi đã không sử dụng $git-addTương tự, nếu một tập tin bị xóa I dunno nếu fsck git sẽ làm việc nó ra hay không Nếu ai có bất kỳ ý tưởng hài lòng cổ phiếu...
Shirish

Bạn có ý nghĩa gì bằng cách loại bỏ các tập tin? Bạn có nghĩa là thay đổi mọi thứ trong .gitthư mục? Hoặc cây làm việc của bạn? Nếu bạn thay đổi những thứ trong cây làm việc của bạn, sau đó sử dụng git status. Nếu bạn đã thực hiện các xác nhận cục bộ, sau đó git logsẽ hiển thị các xác nhận và với các tùy chọn phù hợp có thể cung cấp cho bạn một danh sách các tệp hoặc bản vá đầy đủ.
Zoredache

ah thanx, git statuslà những gì tôi đang tìm kiếm. Nó đã cho tôi biết rằng một vài tập tin và thư mục không bị theo dõi. Nó cũng sẽ nói / chia sẻ với tôi nếu các tập tin bị xóa theo cách tương tự? Một truy vấn khác làm thế nào để tôi đóng câu hỏi này? Tôi không thấy cách đóng câu hỏi một khi nó đã được trả lời. Cảm ơn bạn một lần nữa @Zoredache
shirish

Câu trả lời:


6

Bạn dường như đang tìm kiếm git statuslệnh.

Từ người đàn ông git-status

Hiển thị các đường dẫn có sự khác biệt giữa tệp chỉ mục và cam kết CHÍNH hiện tại, các đường dẫn có sự khác biệt giữa cây làm việc và tệp chỉ mụccác đường dẫn trong cây làm việc không được theo dõi bởi git (và không bị gitignore bỏ qua (5) ). Đầu tiên là những gì bạn sẽ cam kết bằng cách chạy git commit; thứ hai và thứ ba là những gì bạn có thể cam kết bằng cách chạy git add trước khi chạy git commit.

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.