Saya telah melakukan banyak file yang sekarang ingin saya abaikan. Bagaimana saya bisa memberitahu git untuk mengabaikan file-file ini dari komitmen yang akan datang?
EDIT: Saya juga ingin menghapusnya dari repositori. Mereka adalah file yang dibuat setelah pernah membangun atau untuk dukungan tooling khusus pengguna.
Jawaban:
.gitignore
untuk mencocokkan file yang ingin Anda abaikangit rm --cached /path/to/file
Lihat juga:
sumber
Setelah mengedit
.gitignore
agar sesuai dengan file yang diabaikan, Anda dapat melakukangit ls-files -ci --exclude-standard
untuk melihat file yang termasuk dalam daftar pengecualian; Anda kemudian bisa melakukannyauntuk menghapusnya dari repositori (tanpa menghapusnya dari disk).
Sunting : Anda juga dapat menambahkan ini sebagai alias di file .gitconfig Anda sehingga Anda dapat menjalankannya kapan saja. Cukup tambahkan baris berikut di bawah bagian [alias] (modifikasi sesuai kebutuhan untuk Windows atau Mac):
(Tanda
-r
masukxargs
mencegahgit rm
berjalan pada hasil kosong dan mencetak pesan penggunaannya, tetapi hanya dapat didukung oleh GNU findutils. Versi lain darixargs
mungkin atau mungkin tidak memiliki opsi yang serupa.)Sekarang Anda cukup mengetik
git apply-gitignore
repo Anda, dan itu akan bekerja untuk Anda!sumber
!
sebelumnya git? yah ... milikku bekerja jugaalias apply-gitignore="git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached"
. tks!for /F "tokens=*" %a in ('git ls-files -ci --exclude-standard') do @git rm --cached "%a"
-r
default dan tidak diterima oleh versi BSD. Jadi hapus-r
.untuk meninggalkan file di repo tetapi mengabaikan perubahan di masa depan:
dan untuk membatalkan ini:
untuk mengetahui file mana yang telah diatur dengan cara ini:
kredit untuk jawaban asli untuk http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files/
sumber
git ls-files -ci --exclude-standard -z | xargs -0 git update-index --assume-unchanged
jika itu membantu.git rm --cached
akan menghapus file dalam repositori, yang tidak memenuhi kebutuhan quizzer. Terima kasih. Saya sangat menghargai itu. Jawaban Anda banyak membantu saya.Pastikan repo Anda yang sebenarnya adalah versi terbaru
.gitignore
sesuai keinginangit rm -r --cached .
git add .
kemudian lakukan seperti biasa
sumber
git reset HEAD
(Ingatlah untukPertanyaan lama, tetapi sebagian dari kita ada di
git-posh
(PowerShell). Ini solusi untuk itu:sumber
Ikuti langkah ini:
Tambahkan path ke
gitignore
fileJalankan perintah ini
komit perubahan seperti biasa.
sumber