Pemecahan masalah
Pemutakhiran untuk Microsoft Visual Studio 2013 pemutakhiran 4 (KB3023577) Unduh pemutakhiran untuk Microsoft Visual Studio 2013 pemutakhiran 4 untuk memperbaiki masalah di Git.
Cara memperbaiki kerja
Untuk Team Foundation Server (TFS), Perbaiki menolak push apa pun (upload) yang berisi berkas atau lintasan komponen yang cocok dengan string ".git". Hal ini mencegah pengenalan buruk file ke host repos.
Untuk Visual Studio klien, Perbaiki mencegah berkas apa pun diperiksa ke direktori .git. Hal ini, mencegah repos yang berisi berkas yang rusak dari mempengaruhi pengguna komputer lokal.Tentang masalah Git
Ini adalah masalah yang dinyatakan di seluruh ekosistem Git dan yang tidak unik ke dukungan Microsoft untuk repositori Git di platform pengembangan kami. Namun, kami mengambil langkah-langkah proaktif yang penting untuk membantu memastikan bahwa Microsoft Pelanggan yang menggunakan repositori Git dilindungi terhadap masalah ini.
Masalah yang mempengaruhi semua klien Git ditemukan oleh inti Git pengelola. Masalah ini memungkinkan untuk pengenalan berkas ke Git repo. Berkas bernama sedemikian rupa bahwa ketika pengguna unduhan perubahan di penyimpanan yang jauh, berkas dibuat khusus diam-diam dapat mengganti file konfigurasi pengguna. File konfigurasi pengguna berada di luar repositori. Dengan mengganti file ini dengan berkas rusak, perintah git dapat remapped untuk mengeksekusi perintah sembarang yang dijalankan di bawah kredensial pengguna.Dampak pada Visual Studio
Visual Studio 2013 dan Visual Studio TFS 2013 tidak secara langsung dipengaruhi oleh masalah ini. Visual Studio dan TFS jangan mengeksekusi perintah sembarang dari .git metadata. Namun, memeriksa repo yang berisi berkas yang dibuat khusus dapat menyebabkan Visual Studio untuk menimpa porsi .git metadata, memperlihatkan Git untuk Windows alat baris perintah untuk masalah. TFS proaktif patch untuk mencegah masalah ini.
Penyebab
Setiap database Git lokal dipertahankan pada disk di folder akar repo di direktori .git tersembunyi. Ketika berkas yang sedang diperiksa (misalnya, diletakkan pada disk lokal setelah men-download), berkas yang bernama ". GIT/config"dimasukkan ke dalam Git database. Perbandingan case-sensitive untuk ".git" sebagian bertanggung jawab untuk masalah ini. Selain itu, penanganan otomatis jalur berkas pada platform Windows memperluas pola berkas yang terpengaruh ke banyak lebih secara eksplisit bernama ". Pola GIT/config".
Status
Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".