Saya punya dua folder:
/home/me/code/project/
/srv/www/projectfiles/
Dalam /home/me/code/project
folder itu, saya telah terhubung static
ke/srv/www/projectfiles/
yaitu /home/me/code/project/static/
->/srv/www/projectfiles/
Ketika saya mencoba melakukan sekarang, itu tidak melihat file di balik symlink, dan sebaliknya mencoba untuk melakukan symlink itu sendiri sebagai file.
Bagaimana cara saya mengkomit file (mis. /srv/www/projectfiles/style.css
) Yang ada di belakang symlink?
git
symbolic-link
Macha
sumber
sumber
Jika Anda menggunakan linux, saya terutama menyukai solusi yang disediakan oleh GitBLSR . Ini adalah pustaka yang dimuat melalui LD_PRELOAD yang secara transparan mereferensikan symlink ke file dan folder di luar repositori.
Untuk menginstalnya untuk akun pengguna lokal sederhana:
Ini akan mengkompilasi pustaka dan membuat alias seperti berikut ini di
~/.bashrc
:Menggunakan alias ini memungkinkan dereferencing tautan transparan.
sumber
Pertimbangkan untuk menggunakan titik mount untuk memasang folder tujuan (yang saat ini Anda symlink) untuk muncul di lokasi yang Anda inginkan di bawah proyek git. Saya telah menggunakan pendekatan ini dengan sukses.
sumber
Pindahkan file ke dalam folder dan hapus symlink. Git tidak melintasi symlink.
Itu (dan saya) akan berasumsi bahwa Anda symlinking ke satu set file yang Anda tidak kontrol atau tidak ingin memodifikasi, karena itu mereka tidak perlu diversi.
sumber
Solusi lain - satu-satunya yang saya temukan yang juga berfungsi untuk direktori - adalah mengubah pohon git untuk tindakan tertentu.
sumber