Dan kemudian tambahkan path ke .gitignore sehingga git tidak mencoba membuat Anda menambahkannya nanti.
grossvogel
3
Apakah ini menghasilkan (file dalam) direktori dihapus ketika dia menarik dari remote?
bstpierre
Tidak ketika dia menarik; file akan tetap dihapus secara lokal selama proses penggabungan tarikan otomatis. Setelah itu, dorongan akan menyebabkan file dihapus dari sisi server.
Walter Mundt
7
Apa yang terjadi jika saya memiliki remote ketiga? Apakah file yang sesuai akan dihapus di masa depan? Saya bertanya karena saya merasa ini adalah kasus penggunaan yang cukup umum, yaitu memeriksa beberapa file ke dalam repo, menyadari di kemudian hari bahwa mereka berbeda antara remote, untuk alasan yang baik, dan seharusnya tidak pernah di repo di tempat pertama, ingin untuk mengatasinya dengan menjaga semua checkout lokal persis seperti apa adanya, tetapi menghapus file dari repo.
Bobby Jack
6
Untuk file tunggal, Anda dapat melakukannyagit rm --cached path/to/file
Travis Reeder
3
Saya hanya akan:
Pindahkan folder dari pohon kerja Anda
git rm folder, komit perubahan
Tambahkan ke .gitignore(atau .git/info/excludes), komit perubahan
ini bukan solusi yang baik - bagaimana jika Anda memiliki direktori yang sangat besar?
ioleo
mungkin perlu menggunakangit rm -r
theUtherSide
1
@loostro tidak memindahkannya ke perangkat blok lain. Sebagian besar sistem file hanya akan memperbarui inode file, dan tidak benar-benar memindahkan seluruh direktori
Jawaban:
Akan menampilkan penghapusan pada direktori, tetapi tidak menyentuh apa pun pada disk. Ini juga berfungsi untuk file, seperti:
Setelah itu Anda mungkin ingin menambahkan
somedir/
atausomefile.ext
ke.gitignore
file Anda sehingga git tidak mencoba untuk menambahkannya kembali.sumber
git rm --cached path/to/file
Saya hanya akan:
git rm
folder, komit perubahan.gitignore
(atau.git/info/excludes
), komit perubahansumber
git rm -r