Saya punya repositori dengan file Hello.java
,. Ketika saya mengkompilasinya, Hello.class
file tambahan dihasilkan.
Saya membuat entri untuk Hello.class
dalam .gitignore
file. Namun, file tersebut tampaknya masih dilacak.
Bagaimana saya bisa membuat Git diabaikan Hello.class
?
Jawaban:
Masalahnya adalah bahwa
.gitignore
hanya mengabaikan file yang tidak dilacak sebelumnya (olehgit add
). Jalankangit reset name_of_file
untuk unstage file dan simpan. Jika Anda ingin juga menghapus file yang diberikan dari repositori (setelah mendorong), gunakangit rm --cached name_of_file
.sumber
git rm --cached name_of_file
akan menghapus file dari repo git Anda. Bahkan jika Anda menambahkannya ke file .gitignore Anda. Itu tidak mengabaikan yang menghapus.git reset name_of_file
menghapus pelacakan dan tidak menghapus file.Cara mengabaikan file baru
Secara global
Tambahkan path ke file Anda yang ingin Anda abaikan ke
.gitignore
file Anda (dan komit). Entri file ini juga akan berlaku untuk orang lain yang memeriksa repositori.Secara lokal
Tambahkan path ke file Anda yang ingin Anda abaikan ke
.git/info/exclude
file Anda . Entri file ini hanya akan berlaku untuk copy pekerjaan lokal Anda.Cara mengabaikan file yang diubah (sementara)
Untuk mengabaikan file yang diubah agar terdaftar sebagai dimodifikasi, Anda dapat menggunakan perintah git berikut:
Untuk mengembalikan ketidaktahuan itu gunakan perintah berikut:
sumber
local
git diabaikan, dan restart sistem saya, itu masih menunjukkan bekerja langsung bersih.update-index
trik yang bermanfaat , benar-benar sempurna untuk menghindari pengubahan.gitignore
file, yang kemudian dilacak oleh Git!Tambahkan baris berikut ke .gitignore:
Ini akan mengecualikan Hello.class dari git. Jika Anda sudah melakukannya, jalankan perintah berikut:
Jika Anda ingin mengecualikan semua file kelas dari git, tambahkan baris berikut ke .gitignore:
sumber
Hello.class
ke.gitignore
akan mengabaikan file apa pun yang dipanggilHello.class
dalam subdirektori apa pun. Jika Anda hanya ingin mengabaikan fileHello.class
di direktori yang sama dengan.gitignore
file tersebut, gunakan/Hello.class
baris saja..gitignore
file?.gitignore
di mana saja dalam proyek git - jika path dimulai/
, itu akan relatif terhadap lokasi.gitignore
file; jika tidak maka akan merujuk secara rekursif ke file dalam direktori saat ini dan direktori turunannya.1) Buat
.gitignore
file. Untuk melakukan itu, Anda cukup membuat.txt
file dan mengubah ekstensi sebagai berikut:Maka Anda harus mengubah nama, menulis baris berikut di jendela cmd:
Di mana
git.txt
nama file yang baru saja Anda buat.Kemudian Anda bisa membuka file dan menulis semua file yang tidak ingin Anda tambahkan di repositori. Misalnya, milik saya terlihat seperti ini:
Setelah Anda memilikinya, Anda perlu menambahkannya ke repositori Git Anda. Anda harus menyimpan file di mana repositori Anda berada.
Kemudian di Git Bash Anda harus menulis baris berikut:
Jika repositori sudah ada maka Anda harus melakukan hal berikut:
git rm -r --cached .
git add .
git commit -m ".gitignore is now working"
Jika langkah 2 tidak berhasil, Anda harus menulis seluruh rute file yang ingin Anda tambahkan.
sumber
Untuk mengabaikan:
Untuk membatalkan, abaikan:
sumber
lstat(2)
biaya tambahan , ia berhak melaporkan bahwa jalur telah dimodifikasi (...git commit -a
bebas untuk melakukan perubahan itu). 'Anda dapat menggunakan metode di bawah ini untuk mengabaikan / tidak mengabaikan perubahan pada file yang dilacak.
git update-index --assume-unchanged <file>
git update-index --no-assume-unchanged <file>
sumber
lstat(2)
biaya tambahan , ia berhak melaporkan bahwa jalur telah dimodifikasi (...git commit -a
bebas untuk melakukan perubahan itu). 'Buat
.gitignore
di dalam direktori di mana .git berada. Anda dapat membuat daftar file di dalamnya yang dipisahkan oleh baris baru. Anda juga dapat menggunakan wildcard:sumber
.gitignore
file (kecuali jika alat itu diamanatkan oleh proyek). Anda dapat meletakkan pola untuk alat favorit Anda di file per pengguna Anda tidak termasuk (setcore.excludesFile
); mereka akan bekerja di semua repositori Anda. Misalnyagit config --global core.excludesFile "$HOME/.git-user-excludes"
, lalu taruh di file itu.Dari situs GitHub resmi:
Jika Anda sudah memiliki file yang dicentang, dan Anda ingin mengabaikannya, Git tidak akan mengabaikan file jika Anda menambahkan aturan nanti. Dalam kasus tersebut, Anda harus membuka kembali file terlebih dahulu, dengan menjalankan perintah berikut di terminal Anda:
atau
sumber
Anda harus menulis sesuatu seperti
ke dalam
.gitignore
file Anda .sumber
*.class
ke Anda.gitignore
untuk membuat git mengabaikan semua file yang berakhiran.class
.Tambahkan file mana yang ingin Anda abaikan ke file
.gitignore
:*.kelas
* .proyek
* .prefs
*.proyek
sumber
Dengan membuat file .gitignore. Lihat di sini untuk detailnya: Buku Git - Mengabaikan file
Lihat juga ini: Bagaimana Anda membuat Git mengabaikan file tanpa menggunakan .gitignore?
sumber
Jika Anda telah melakukan file dan Anda mencoba untuk mengabaikannya dengan menambahkan
.gitignore
file, Git tidak akan mengabaikannya. Untuk itu, pertama-tama Anda harus melakukan hal-hal di bawah ini:Jika Anda memulai proyek baru dan Anda ingin menambahkan beberapa file ke Abaikan, ikuti langkah-langkah di bawah ini untuk membuat file Abaikan:
.gitignore
file.sumber
Anda juga dapat menggunakan .gitattributes (bukan .gitignore) untuk mengecualikan seluruh tipe file. File ini cukup jelas, tapi saya menempelkan isinya di sini untuk referensi. Perhatikan baris terakhir (* .class binary):
sumber
Tambahkan baris berikut ke .git / info / kecualikan:
Hello.class
sumber
.git
?Saya memiliki masalah serupa dengan file "dump.rdb".
Saya mencoba menambahkan file ini dengan berbagai cara ke file .gitignore, tetapi hanya satu cara yang berhasil.
CATATAN: Menambahkan file di tempat lain tidak berfungsi.
Misalnya, lihat: https://gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore
sumber
Halaman web ini mungkin berguna dan menghemat waktu saat bekerja dengannya
.gitignore
.Secara otomatis menghasilkan file .gitignore untuk berbagai IDE dan sistem operasi dengan file / folder tertentu yang biasanya tidak ingin Anda tarik ke repositori Git Anda (misalnya, folder khusus IDE dan file konfigurasi).
sumber
Saya mencoba ini -
git status .idea/xyz.xml .idea/pqr.iml Output .DS_Store
echo " .idea/xyz.xml .idea/pqr.iml Output .DS_Store" >> .gitignore
git status .gitignore
kita juga dapat menambahkan direktori dan semua sub dir / file yang ingin kita abaikan dalam status git
directoryname/*
dan saya menjalankan perintah ini darisrc
direktori.sumber
git rm -r --cached .
git add .
sumber
Saya sudah mencoba
--assume-unchanged
dan juga.gitignore
tetapi tidak berhasil. Mereka membuatnya sulit untuk beralih cabang dan sulit untuk menggabungkan perubahan dari yang lain. Ini solusi saya:Ketika saya komit , saya secara manual menghapus file dari daftar perubahan
Sebelum saya tarik , saya menyimpan file yang diubah. Dan setelah menarik, saya melakukan pop simpanan .
Langkah 3 terkadang akan memicu penggabungan dan dapat mengakibatkan konflik yang perlu Anda selesaikan, yang merupakan hal yang baik.
Ini memungkinkan saya untuk menyimpan perubahan lokal yang tidak dibagikan dengan orang lain di tim.
sumber