Pertanyaan Bagaimana saya dapat menghapus file .DS_Store dari repositori Git?


Bagaimana cara menghapus Mac OS X yang mengganggu itu .DS_Store file dari repositori Git?


939
2017-09-20 09:15


asal


Jawaban:


Hapus file yang ada dari repositori:

find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

Tambahkan baris

.DS_Store

ke file .gitignore, yang dapat ditemukan di tingkat atas repositori Anda (atau dibuat jika belum ada). Anda dapat melakukan ini dengan mudah dengan perintah ini di direktori teratas

echo .DS_Store >> .gitignore

Kemudian

git add .gitignore
git commit -m '.DS_Store banished!'

1815
2017-09-20 11:18



Menggabungkan jawaban benzado dan webmat, memperbarui dengan git rm, tidak gagal pada file yang ditemukan yang tidak repo, dan membuatnya dapat digunakan secara umum untuk setiap pengguna:

# remove any existing files from the repo, skipping over ones not in repo
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
# specify a global exclusion list
git config --global core.excludesfile ~/.gitignore
# adding .DS_Store to that list
echo .DS_Store >> ~/.gitignore

211
2017-07-14 23:42



Solusi terbaik untuk mengatasi masalah ini adalah untuk secara global mengabaikan file-file ini dari semua git repos pada sistem Anda. Ini dapat dilakukan dengan membuat file gitignore global seperti:

vi ~/.gitignore_global

Menambahkan Aturan untuk mengabaikan file seperti:

# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

Sekarang, tambahkan file ini ke konfigurasi git global Anda:

git config --global core.excludesfile ~/.gitignore_global

Edit:

Ikon yang dihapus karena mereka mungkin perlu berkomitmen sebagai aset aplikasi.


118
2017-07-13 08:03



Dalam beberapa situasi Anda mungkin juga ingin mengabaikan beberapa file secara global. Bagi saya, .DS_Store adalah salah satunya. Begini caranya:

git config --global core.excludesfile /Users/mat/.gitignore

(Atau file apa pun pilihan Anda)

Kemudian edit file seperti repo .gitignore. Perhatikan bahwa saya pikir Anda harus menggunakan jalur absolut.


51
2017-09-20 13:08



Saya harus mengubah git-rm ke git rm di atas agar berfungsi:

find . -depth -name '.DS_Store' -exec git rm --cached '{}' \; -print

13
2017-07-20 14:05



Jika Anda tidak dapat menghapus file karena mereka telah mengubah penggunaan bertahap:

git rm --cached -f *.DS_Store

11
2018-05-12 00:21



Buka terminal dan ketik "cd <ProjectPath>"

  1. Hapus file yang ada: find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

  2. nano .gitignore

  3. Tambahkan ini .DS_Store

  4. ketik "ctrl + x"

  5. Ketik "y"

  6. Masukkan untuk menyimpan file

  7. git add .gitignore

  8. git commit -m '.DS_Store removed.'


10
2017-11-24 09:30



hapus menggunakan git-rm, lalu tambahkan .DS_Store ke .gitignore untuk menghentikan mereka ditambahkan lagi. Anda juga bisa menggunakan blueharvest untuk menghentikan mereka dibuat bersama-sama


8
2017-09-20 09:20



Jawaban pilihan teratas luar biasa, tetapi membantu para pemula seperti saya, di sini adalah cara membuat file .gitignore, mengeditnya, menyimpannya, menghapus file yang mungkin telah Anda tambahkan ke git, lalu mendorong file ke Github.

Buat file .gitignore

Untuk membuat file .gitignore, Anda bisa saja touch file yang membuat file kosong dengan nama yang ditentukan. Kami ingin membuat file bernama .gitignore sehingga kami dapat menggunakan perintah:

touch .gitignore

Abaikan file

Sekarang Anda harus menambahkan baris yang memberitahu git untuk mengabaikan file DS Store ke gitignore Anda. Anda dapat menggunakan editor nano untuk melakukan ini.

nano .gitignore

Nano bagus karena menyertakan instruksi tentang cara keluar darinya. (Ctrl-HAI untuk menghemat, Ctrl-X untuk keluar)

Salin dan tempelkan beberapa ide dari ini Github gist yang mencantumkan beberapa file umum untuk diabaikan. Yang paling penting, untuk menjawab pertanyaan ini, adalah:

# OS generated files #
######################
.DS_Store
.DS_Store?

# Adalah komentar, dan akan membantu Anda mengatur file Anda saat ia tumbuh.

Ini Artikel github juga memiliki beberapa ide dan panduan umum.

Hapus file yang sudah ditambahkan ke git

Akhirnya, Anda harus benar-benar menghapus file-file DS Store dari direktori Anda.

Gunakan perintah hebat ini dari atas sebagai jawaban pilihan. Ini akan melalui semua folder di direktori Anda, dan menghapus file-file tersebut dari git.

find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

Dorong .gitignore hingga Github

Langkah terakhir, Anda harus benar-benar melakukan file gitignore Anda.

git status

git add .gitignore

git commit -m '.DS_Store banished!'


6
2017-10-31 06:41



Berikut ini yang terbaik bagi saya. Menangani file yang tidak cocok, dan file dengan modifikasi lokal. Untuk referensi, ini pada sistem Mac 10.7 yang menjalankan git 1.7.4.4.

Temukan dan hapus:

find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch -f

Saya juga secara global mengabaikan. DS_Store di semua repositori dengan menetapkan core.excludesfile global.

Pertama, buat file (jika belum ada):

touch ~/.gitignore

Kemudian tambahkan baris berikut dan simpan:

.DS_Store

Sekarang konfigurasikan git untuk menghargai file secara global:

git config --global core.excludesfile ~/.gitignore

5
2017-09-28 00:52



Saya menemukan bahwa baris berikut dari snipplr paling baik untuk menghapus semua .DS_Store, termasuk yang memiliki modifikasi lokal.

find . -depth -name '.DS_Store' -exec git-rm --cached '{}' \; -print

--pilihan tembolok, menyimpan lokal Anda. ED_Store karena itu akan direproduksi.

Dan seperti yang disebutkan di atas, tambahkan file .DS_Store ke .gitignore pada akar proyek Anda. Maka itu tidak lagi ada di pandangan Anda (repo).


4
2017-07-21 19:17