git menambahkan semua kecuali mengabaikan file dalam file .gitignore

120

Saya menambahkan kontrol sumber ke proyek yang tidak memilikinya. Masalahnya adalah ada banyak file yang awalnya ditambahkan ke git dengan file .gitignore , tetapi saya tidak tahu cara menambahkan semua file tanpa menyertakan file yang cocok dengan sesuatu di file .gitignore .

git add *

Perintah di atas tidak akan menambahkan file apa pun karena mendeteksi file yang diabaikan oleh .gitignore .

git add -f *

Perintah di atas akan menambahkan semua file termasuk file yang ingin saya abaikan.

Jadi, bagaimana cara menambahkan semua file sambil tetap mengikuti file .gitignore ?

Kaya
sumber

Jawaban:

251

Saya pikir maksud Anda git add .yang akan menambahkan semua file ke repo yang TIDAK ditentukan di .gitignore- Anda dapat melihat perubahan ini dengan mengetikgit status

Dalam .bash biasanya berarti direktori ini dan semua direktori lainnya secara rekursif, jadi jika Anda melakukan ini dari tingkat bawah repo Anda, Anda harus menambahkan semua file.

Git flow saya yang biasa adalah membuat .gitignorefile dan menambahkan file proyek ke repo. Saya akan menguji .gitignorefile dengan mengetik git statussetelah mengimpor file - jika saya melihat file yang telah saya tambahkan (misalnya hanya .php atau .html, BUKAN .mp3 atau .mov), maka Anda dapat git add .menambahkan semua, dan git commit -m "initial commit"ke komit mereka dan Anda harus siap.

Nic
sumber
3
bagaimana jika saya melakukan git add --all .apa perbedaan dari git add .konteks ini?
Katedral Pillon
2
itu sama dengan git add.
pengguna454232
27
git add .

Ini akan menambahkan semua jalur dan mengabaikan kecocokan dari .gitignore

Leom Burke
sumber
13

Coba git add . (yang berarti "tambahkan semua file di direktori saat ini dan di bawahnya")

wadesworld
sumber
5

Pilihan lainnya adalah menggunakan excludefile repo Git . File ini berfungsi mirip dengan .gitignorefile tetapi tidak terikat pada repo.

Dari dokumen Github :

Anda dapat menggunakan teknik ini untuk file yang dibuat secara lokal yang tidak Anda harapkan akan dibuat oleh pengguna lain, seperti file yang dibuat oleh editor Anda.

Gunakan editor teks favorit Anda untuk membuka file yang dipanggil .git/info/excludedi dalam root repositori Git Anda. Aturan apa pun yang Anda tambahkan di sini tidak akan diperiksa, dan hanya akan mengabaikan file untuk repositori lokal Anda.

  1. Di Terminal, buka lokasi repositori Git Anda
  2. Menggunakan editor teks favorit Anda, buka file .git/info/exclude
  3. Tambahkan aturan ke excludefile seperti yang Anda lakukan pada .gitignorefile
Brett DeWoody
sumber