Tôi có thể tạo tệp gitignore dành riêng cho người dùng không?


112

Tôi muốn thay đổi gitignore, nhưng không phải tất cả mọi người trong đội đều muốn những thay đổi này. Làm thế nào người dùng có thể có tệp bỏ qua git cụ thể của riêng họ?

Câu trả lời:


93

Đối với việc bỏ qua tệp dành riêng cho người dùng và tệp repo cụ thể, bạn nên điền tệp sau:

$ GIT_DIR / thông tin / loại trừ

Thông thường $ GIT_DIR là viết tắt của:

your_repo_path / .git /


5
Đối với những nhầm lẫn về đường dẫn: your_repo/.git/info/exclude. Tệp được định dạng giống như tệp .gitignore tiêu chuẩn .
Stevoisiak

3
Nếu tập tin của bạn đã có những thay đổi unstaged bạn có thể cần phải chạy git update-index --skip-worktree [<file>...](từ hashrocket.com/blog/posts/... )
Daniel Olivares

118

Bạn có thể tạo .gitignore của riêng mình bằng cách sử dụng

git config --global core.excludesfile $HOME/.gitignore

Sau đó, đặt các mục mong muốn của bạn vào tệp đó.


16
Nếu bạn không muốn nó là toàn cầu, bạn có thể đặt .user_gitignoretệp của mình trong thư mục của repo .gitvà thêm nó vớigit config core.excludesfile .git/.user_gitignore
orad

6
Mẹo từ Tim Pope : sử dụng ~/.cvsignorevì các tiện ích như rsync cũng sẽ sử dụng tệp này.
Peter Rincker

4
@orad Tôi nghĩ nhận xét của bạn xứng đáng là câu trả lời riêng.
Stevoisiak

Đi trong tài khoản đó / đề nghị của Dave orad sẽ ghi đè mặc định là core.excludesfiletrỏ đến toàn cầu của bạn bỏ qua tập tin ví dụ: ~/.gitignore. Nếu bạn muốn duy trì các loại trừ toàn cầu và cũng có các loại trừ cụ thể trong kho lưu trữ, câu trả lời của @ grzuy là cách tốt nhất
sgimeno

1
Tôi phải thiếu cái gì đó ở đây. Tôi đã thực hiện lệnh này nhưng không có ~/.gitignoretệp nào ở đó nên tôi đã tạo một tệp. Tôi đặt chính xác một mục nhập: knexfile.jsvà khi tôi quay lại repo và chạy, git statustôi vẫn còn tệp trong danh sách thay đổi.
anon58192932

34

Trong .gitconfig của họ:

[core]
    excludesfile = ~/.global_gitignore

Bằng cách đó, họ có thể bỏ qua một số loại tệp nhất định trên toàn cầu. Mỗi người dùng có thể có tệp bỏ qua chung của riêng họ.


1
Bạn có thể truy cập .gitconfigbằng cách chạy git config --local -etrong repo bạn muốn
Peter Graham

6

Ví dụ: bạn muốn bỏ qua ~/some/path/.ideathư mục:

# 1. Add .idea to user specific gitignore file
echo .idea > ~/.gitignore

# 2. Add gitignore file to gitconfig
git config --global core.excludesfile ~/.gitignore

3

Như đã chỉ ra trong hướng dẫn .gitignore của Atlassian , bạn cũng có thể sử dụng <repo>/.git/info/excludetệp repo của mình mà bạn có thể dễ dàng chỉnh sửa bằng bất kỳ trình soạn thảo văn bản nào. Nó hoạt động giống như .gitignore.

Tôi có thể dễ dàng bỏ qua các tệp intelliJ, tệp dockerfiles cá nhân và những thứ chỉ tôi cần làm việc.

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.