2015-11-12 19 views
5

Tôi có một vài (Git cho Windows 2.6.2 64-bit) Repos mà tôi tạo ra và bắt đầu sử dụng theo cùng một cách:Tại sao .git/hooks đôi khi bị mất trong bản sao của bản sao?

  1. Run git init --bare <repoName>.git trong Git Bash.
  2. Sao chép bản repo mới bằng SourceTree.
  3. Thêm và cam kết tệp ban đầu (thông qua SourceTree hoặc EGit).
  4. Blah, blah, blah ....

Trong cố gắng để thêm một chung post-commit móc để những Repos nhân bản, tôi nhận thấy rằng chỉ có một số trong số họ đã có một .git/hooks thư mục. Tại sao?

Tôi tìm kiếm các câu hỏi/câu trả lời về thiếu các thư mục .git/hook và không tìm thấy bất kỳ thứ gì trên SO hoặc rộng hơn. Tài liệu Git mentions rằng khởi tạo repo đảm bảo các tệp (.git/hooks/) .sample được thực thi theo mặc định; nhưng tôi thực sự không thể tìm thấy bất cứ điều gì dường như giải thích tại sao bản sao nhân bản vô tính của tôi đôi khi chứa .git/hooks và đôi khi không.

Có ai có thể làm sáng tỏ nguyên nhân và ảnh hưởng khi chơi ở đây không? Cảm ơn.

+0

Bạn có tìm thấy giải thích cho điều này không? Tôi chỉ gặp vấn đề này. .git/hooks bị thiếu khi nhân bản một kho lưu trữ từ một máy chủ Bitbucket. Tôi tự hỏi nếu nó là một lỗi SourceTree. –

Trả lời

3

Các móc được định nghĩa trong kho lưu trữ git luôn là cục bộ cho kho lưu trữ này. Chúng không phải là một phần của lịch sử git và không được chuyển khi nhân bản, tìm nạp hoặc đẩy.

Vì vậy, chỉ bằng cách sao chép một repo hiện có bằng móc, các bản sao repo sẽ không có móc nối ngược nào. Bạn sẽ phải thêm chúng theo cách thủ công vào kho lưu trữ nhân bản.

This question giải thích một số tùy chọn để giúp bạn đạt được điều này.

+1

Cảm ơn lời giải thích; và câu hỏi mà bạn tham chiếu cũng giải thích rõ hơn nữa. Những gì tôi vẫn băn khoăn là nơi các thư mục '.git/hooks' trong một số bản sao xuất phát, tại sao sự hiện diện/vắng mặt' .git/hooks' 'sẽ không đồng nhất trên các bản sao nếu tôi đã làm theo cùng một quá trình để tạo và bắt đầu sử dụng từng bản sao. – J0e3gan

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