Saya telah menyiapkan git lokal di mesin saya. Ketika saya menginisialisasi git, saya menambahkan lib dan binari yang telah dikompilasi sebelumnya. Namun, sekarang selama pengembangan saya, saya tidak ingin memeriksa file-file itu sebentar-sebentar. Saya tidak ingin menghapus file-file ini dari repo. Apakah ada cara untuk tidak melacak file-file ini sampai saya menyelesaikan pengembangan saya. (Saya pikir saya tidak bisa menggunakan .gitignore karena hanya berfungsi untuk file-file yang tidak ada di git. Saya ingin menonaktifkan sementara pelacakan file.)
git
github
repository
agen. pandai besi
sumber
sumber
Jawaban:
git update-index harus melakukan apa yang Anda inginkan
Ini akan memberi tahu git Anda ingin mulai mengabaikan perubahan pada file
git update-index --assume-unchanged path/to/file
Saat Anda ingin mulai melacak lagi
git update-index --no-assume-unchanged path/to/file
Dokumentasi Github: pembaruan-indeks
sumber
git rm --cached
akan menyebabkan penghapusan salinan lokal pada mesin lain, di mana cabang yang sama diperiksa, pada tarikan berikutnya. Lihat arlocarreon.com/blog/git/… dan terutama diskusi di bawahnya.Anda dapat menyimpan file Anda setelah dilacak
tambahkan file Anda dengan
mereka mendorong atau melakukan apa pun yang Anda inginkan.
sumber
git rm --cached .DS_Store
lalu mencetakrm '../.DS_Store'
Dan file lokal dihapus ??! (git version 2.6.4 (Apple Git-63)
)Namun, Anda tidak boleh membuat binari yang dikompilasi dan dependensi eksternal sejak awal. Gunakan alat seperti Bundler untuk menariknya.
sumber
Gunakan perintah berikut untuk membuka file
sumber
Git-book menyebutkan ini di bagian 2.4: "Undoing Things". Pada dasarnya, yang harus Anda lakukan adalah mengatur ulang status indeks untuk beberapa file kembali ke status HEAD, yaitu ke keadaan checkout terakhir (atau komit). Ini membatalkan pementasan file ke indeks saat ini. Perintah untuk tugas ini adalah
git reset
. [1]Jadi, perintah yang harus Anda jalankan adalah:
Versi git yang lebih baru (saya percaya sejak 1,6 atau lebih) memberikan perintah ini (dan banyak lagi) sebagai tip ketika menjalankan
git status
. Versi ini sangat ramah pengguna. Kiat pribadi: jika Anda hanya menentukan beberapa file, gunakangit add -i
. Ini akan meluncurkan alat pementasan interaktif, yang menjadikannya sangat mudah. Juga, saya sangat merekomendasikan membaca buku ini, karena sangat eksplisit tentang penggunaan git dalam situasi praktis.[1] http://www.git-scm.com/book
sumber
git reset [file]
adalah cara paling mudah untuk menghapus file di panggung.Bukan jawaban untuk pertanyaan awal. Tapi ini mungkin bisa membantu seseorang.
Untuk melihat perubahan yang telah Anda lakukan ( ketahui file mana yang ditandai sebagai --assume-tidak berubah )
Daftar file yang dihasilkan akan memiliki awalan dengan satu karakter (mis: H atau h) Jika itu adalah huruf kecil (yaitu h) maka file itu ditandai --assume-tidak berubah
sumber
Saya berasumsi bahwa Anda bertanya bagaimana menghapus SEMUA file di folder build atau folder bin, Daripada memilih setiap file secara terpisah.
Anda dapat menggunakan perintah ini:
git rm -r -f /build\*
Pastikan Anda berada di direktori induk dari direktori build.
Perintah ini akan, secara rekursif "menghapus" semua file yang ada di folder bin / atau build /. Dengan kata delete yang saya maksud git akan berpura-pura bahwa file-file itu "dihapus" dan file-file itu tidak akan dilacak. Git benar-benar menandai file-file itu berada dalam mode hapus.
Pastikan Anda memiliki .gitignore Anda siap untuk komitmen yang akan datang.
Dokumentasi: git rm
sumber
git reset [file]
Dapatkan file kembali dari area staging ke direktori yang berfungsi
Saya sering lupa menambahkan modul simpul saya ke file .gitignore, ini menyelesaikan masalah itu.
sumber
Ini berhasil untuk saya
git reset HEAD 'nama file'
sumber
Untuk menghapus semua file Untrack. Coba perintah terminal ini
sumber
untuk menghapus file dan folder yang tidak dilacak, set git clean -fdx
sumber