Pertanyaan Abaikan file .gitignore itu sendiri


Saya baru saja melakukan git init pada akar proyek baru saya.

Lalu saya membuat sebuah .gitignore mengajukan.

Sekarang, ketika saya mengetik git status, .gitignore file muncul dalam daftar file yang tidak terlacak. Mengapa demikian?


906
2018-04-20 06:42


asal


Jawaban:


Itu .gitignore file harus berada di repositori Anda, jadi memang harus ditambahkan dan dikomit dalam, seperti git status menyarankan. Itu harus menjadi bagian dari pohon repositori, sehingga perubahan itu dapat digabung dan seterusnya.

Jadi, tambahkan ke repositori Anda, itu tidak boleh gitignored.

Jika Anda benar-benar ingin Anda dapat menambahkan .gitignore ke .gitignore file jika Anda tidak ingin berkomitmen. Namun, dalam hal ini mungkin lebih baik untuk menambahkan mengabaikan .git/info/exclude, file checkout-lokal khusus yang berfungsi seperti .gitignore tetapi tidak muncul dalam "status git" karena berada di .git map.

Lihat juga https://help.github.com/articles/ignoring-files


866
2018-04-20 07:11



Jika Anda ingin menyimpan daftar file yang diabaikan di luar pohon Git Anda, Anda dapat menggunakan .git / info / exclude mengajukan. Ini hanya berlaku untuk pembayaran Anda dari repo.


263
2018-04-20 07:14



Anda benar-benar dapat menempatkan baris ".gitignore" ke dalam file ".gitignore" Anda. Ini akan menyebabkan file ".gitignore" diabaikan oleh git. Saya tidak benar-benar berpikir ini adalah ide yang bagus. Saya pikir file abaikan harus dikendalikan dan dilacak versi. Saya hanya menempatkan ini di luar sana untuk kelengkapan.


69
2018-04-20 07:58



Anda juga dapat memiliki git pengguna global .gitignore file yang akan diterapkan secara otomatis ke semua repos Anda. Ini berguna untuk file IDE dan editor (mis. swp dan *~ file untuk Vim). Ubah lokasi direktori untuk mengatur OS Anda

  1. Tambahkan ke Anda ~/.gitconfig mengajukan

    [core]
    excludesfile = /home/username/.gitignore
    
  2. Membuat ~/.gitignore file dengan pola file untuk diabaikan

  3. Simpan file dot Anda di repo lain sehingga Anda memiliki cadangan (opsional).

Setiap kali Anda menyalin, init atau mengkloning repo file gitignore global Anda akan digunakan juga.


47
2018-06-10 07:46



Setelah Anda menambahkan .gitignore file dan komit, itu tidak akan lagi muncul di daftar "file tidak terlacak".

git add .gitignore
git commit -m "add .gitignore file"
git status

38
2018-04-20 06:50



Jika seseorang telah menambahkan .gitignore untuk repo Anda, tetapi Anda ingin membuat beberapa perubahan dan perubahan tersebut diabaikan lakukan hal berikut:

git update-index --assume-unchanged .gitignore

Sumber.


36
2018-02-09 20:19



Hanya memetikan orang lain memiliki rasa sakit yang sama seperti yang kita miliki. Kami ingin mengecualikan file yang telah dilakukan.

Posting ini jauh lebih bermanfaat: bekerja dengan .git / info / tidak termasuk terlambat

Khususnya apa yang Anda perlu abaikan file sebenarnya menggunakan perintah git remove Lihat git rm (http://www.kernel.org/pub/software/scm/git/docs/git-rm.html)

Anda mengujinya dengan pergi

git rm --dry-run *.log
(jika Anda mengatakan ingin mengecualikan semua file log)

ini akan menghasilkan apa akan menjadi dikecualikan jika Anda menjalankannya.

kemudian

Anda menjalankannya dengan pergi

git rm *.log
(atau jalur / ekspresi nama file apa pun yang Anda inginkan)

Kemudian tambahkan a *.log sejalan dengan Anda .gitignore mengajukan.


20
2017-09-25 03:00



Idenya adalah untuk menempatkan file yang khusus untuk proyek Anda ke dalam .gitignorefile dan (sebagaimana telah disebutkan) menambahkannya ke repositori. Sebagai contoh .pyc dan .o file, log yang testsuite buat, beberapa perlengkapan dll.

Untuk file yang Anda buat sendiri tetapi yang tidak selalu muncul untuk setiap pengguna (seperti .swp file jika Anda menggunakan vim, direktori tersembunyi tersembunyi dan sejenisnya), Anda harus menggunakan .git/info/exclude (sebagaimana telah disebutkan).


15
2018-04-20 07:55



Tentu saja .gitignore file muncul di status, karena itu tidak terlacak, dan git melihatnya sebagai file baru yang lezat untuk dimakan!

Karena .gitignore adalah file yang tidak terlacak, itu adalah kandidat yang harus diabaikan oleh git ketika Anda memasukkannya ke dalam. Gitignore!

Jadi, jawabannya sederhana: tambahkan saja baris:

.gitignore # Ignore the hand that feeds!

ke file .gitignore Anda!

Dan, bertentangan dengan respon Agustus, saya harus mengatakan bahwa itu bukan file .gitignore harus berada di repositori Anda. Itu terjadi begitu saja bisa menjadi, yang seringkali nyaman. Dan mungkin benar bahwa ini adalah alasan. Gitignore dibuat sebagai alternatif untuk .git / info / exclude, yang tidak memiliki opsi untuk dilacak oleh repositori. Bagaimanapun, bagaimana Anda menggunakan file .gitignore Anda benar-benar terserah pada Anda.

Untuk referensi, periksa gitignore (5) halaman manual di kernel.org.


14
2018-06-11 20:01