git thêm tất cả ngoại trừ bỏ qua các tệp trong tệp .gitignore


120

Tôi đang thêm quyền kiểm soát nguồn vào một dự án chưa có. Vấn đề là ban đầu có rất nhiều tệp để thêm vào git bằng tệp .gitignore , nhưng tôi không thể tìm ra cách thêm tất cả các tệp mà không bao gồm các tệp khớp với nội dung nào đó trong tệp .gitignore .

git add *

Lệnh trên sẽ không thêm bất kỳ tệp nào vì nó phát hiện các tệp bị .gitignore bỏ qua .

git add -f *

Lệnh trên sẽ thêm tất cả các tệp bao gồm các tệp mà tôi muốn bỏ qua.

Vì vậy, làm cách nào để thêm tất cả các tệp trong khi vẫn tuân theo tệp .gitignore ?

Câu trả lời:


251

Tôi nghĩ ý bạn là git add .sẽ thêm tất cả các tệp vào repo mà KHÔNG ĐƯỢC chỉ định trong .gitignore- bạn có thể thấy những thay đổi này bằng cách nhậpgit status

Trong .bash thường có nghĩa là thư mục này và tất cả các thư mục khác một cách đệ quy, vì vậy nếu bạn làm điều này từ cấp dưới cùng của kho lưu trữ của mình, bạn nên thêm tất cả các tệp.

Luồng git thông thường của tôi là tạo .gitignoretệp và thêm tệp dự án vào repo. Tôi sẽ kiểm tra các .gitignoretập tin bằng cách gõ git statussau khi nhập các tập tin - nếu tôi thấy các tập tin mà tôi đã thêm (ví dụ chỉ .php hay .html, KHÔNG .mp3 hoặc .mov), sau đó bạn có thể git add .thêm tất cả, và git commit -m "initial commit"để cam kết chúng và bạn sẽ được thiết lập.


3
điều gì sẽ xảy ra nếu tôi làm git add --all .điều gì khác biệt so với git add .trong bối cảnh này?
Katedral Pillon

2
nó cũng giống như git add.
user454232

27
git add .

Điều này sẽ thêm tất cả các đường dẫn và bỏ qua các kết quả phù hợp từ .gitignore


13

Hãy thử git add . (có nghĩa là "thêm tất cả các tệp trong thư mục hiện tại và bên dưới")


5

Một tùy chọn khác là sử dụng excludetệp của đại diện Git . Tệp này hoạt động tương tự như một .gitignoretệp nhưng không được cam kết với repo.

Từ tài liệu Github :

Bạn có thể sử dụng kỹ thuật này cho các tệp được tạo cục bộ mà bạn không mong đợi người dùng khác tạo ra, chẳng hạn như tệp do trình chỉnh sửa của bạn tạo.

Sử dụng trình soạn thảo văn bản yêu thích của bạn để mở tệp được gọi .git/info/excludetrong thư mục gốc của kho lưu trữ Git của bạn. Bất kỳ quy tắc nào bạn thêm vào đây sẽ không được đăng ký và sẽ chỉ bỏ qua các tệp cho kho lưu trữ cục bộ của bạn.

  1. Trong Terminal, điều hướng đến vị trí của kho lưu trữ Git của bạn
  2. Sử dụng trình soạn thảo văn bản yêu thích của bạn, mở tệp .git/info/exclude
  3. Thêm quy tắc vào excludetệp như cách bạn làm với .gitignoretệp
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.