2012-01-24 37 views
5

Tôi đang sử dụng git svn để hợp nhất các thay đổi từ kho lưu trữ git cục bộ của tôi với máy chủ SVN. Tuy nhiên, khi tôi phát hành git svn dcommit, nó sẽ thực sự cam kết bất kỳ tệp .gitignore nào mà tôi có trong cây nguồn của mình. Đây là ngay cả sau khi tôi đã kiểm tra kho lưu trữ SVN cục bộ (sử dụng SVN), đặt thuộc tính svn: ignore (đệ quy, liệt kê .gitignore là một trong các tệp cần bỏ qua), và sau đó cam kết rằng thuộc tính thay đổi trực tiếp vào SVN.Có thể giữ các tệp .gitignore ra khỏi SVN không?

Hành vi này có dự định không? Một lỗi? Có một công việc xung quanh mà bất cứ ai biết để giữ .gitignore ra khỏi SVN?

Tôi chỉ biết một người dùng không git trong nhóm của mình sẽ xem các tệp này và bắt đầu xóa chúng, sau đó vào lần tiếp theo, tôi truy cập rebase/dcommit nhiều tệp không mong muốn sẽ có trong SVN.

Trả lời

8

Bạn có thể sử dụng tệp "loại trừ" cụ thể của Git, thay vì sử dụng các tệp .gitignore. Tệp "loại trừ" nằm ở $GIT_DIR/info/exclude (trong đó $GIT_DIR là thư mục kho lưu trữ Git, thường là .git). Định dạng của tệp này hoàn toàn giống với tệp .gitignore. Sự khác biệt là đây là một tập tin lưu trữ cụ thể - nó sẽ chỉ tồn tại trong kho của bạn. Nó sẽ không được truyền cho bất kỳ kho lưu trữ nào khác (ví dụ: qua git clone hoặc git svn dcommit).

Không có cách nào để bỏ qua .gitignore tệp từ repo SVN, nhưng giữ chúng trong Git. Bất kỳ nỗ lực nào để làm như vậy sẽ dẫn đến các cam kết cục bộ của bạn không khớp với các cam kết mà git-svn truy xuất từ ​​máy chủ SVN. Nói cách khác, lịch sử kho lưu trữ cục bộ của bạn sẽ không thể hòa giải được với lịch sử từ SVN; chúng sẽ vĩnh viễn không đồng bộ.

+0

Điều cần biết về repo-bỏ qua và cũng rằng tôi không phải là người duy nhất không thể giữ những tập tin .gitignore pesky ra khỏi SVN! – ThaDon

+0

Dường như tệp bây giờ được gọi là '$ GIT_DIR/info/exclude' mà không có số nhiều. –

+0

@JannikJochem Tôi nghĩ đó chỉ là lỗi đánh máy. Theo như tôi biết, nó luôn được đặt tên là "loại trừ", không phải là "loại trừ". Cảm ơn bạn đã chỉ ra rằng! :) –

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