Saya memiliki beberapa file yang dilacak dalam repositori yang secara otomatis dimodifikasi ketika membangun kode. Saya tidak ingin melepaskan mereka, saya hanya tidak ingin mereka tampil sebagai dimodifikasi dan saya tidak ingin mereka dipentaskan ketika saya git menambahkan.
Apakah ini mungkin?
Jawaban:
Tentu.
Untuk membatalkan dan mulai melacak lagi:
sumber
Git will fail (gracefully) in case it needs to modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is changed upstream, you will need to handle the situation manually.
--assume-unchanged
kloning? Agar semua pengguna memiliki file, tetapi tidak melihat perubahan lokal untuk mereka di diffs.git update-index --no-assume-unchanged $(git ls-files $(git rev-parse --show-toplevel))
ditetapkan sebagai alias git. Setiap kali saya curiga itu adalah beberapa kejahatan ini, saya hanya melakukan itu.Pendekatan lain (dari jawaban yang sekarang dihapus oleh Seth Robertson, tetapi saya merasa terbantu dengan menghidupkannya kembali) adalah dengan mempertahankan file templat "yang dilacak", kemudian memiliki versi lokal yang tidak dilacak, misalnya: config.sample.ini "atau" config.ini.template "lihat https://gist.github.com/canton7/1423106 untuk contoh lengkap.
Maka tidak akan ada masalah jika file diubah dalam git, dll. Dan Anda dapat menggunakan .gitignore (akhirnya) pada file lokal yang tidak dilacak.
sumber
Solusi lain menggunakan atribut git dan% f dalam perintah filter:
sumber