Apakah mungkin untuk mengatur file / folder untuk diabaikan berdasarkan per proyek dalam kontrol sumber TFS?
Misalnya, saya punya situs web dengan folder aset yang saya tidak ingin masuk ke kontrol sumber. Aset-aset ini dikelola oleh sistem yang terpisah. Juga, saya tidak ingin memasukkan beberapa gigabyte aset ke dalam kontrol sumber, tetapi saya perlu beberapa sampel di mesin dev saya, tetapi saya juga tidak ingin memeriksanya.
Jika saya bekerja di situs web ini ketika terikat ke kontrol sumber dan saya menyegarkan pohon, file-file ini secara otomatis akan ditambahkan lagi
Saya ingin mencegah hal ini terjadi.
Jawaban:
Untuk VS2015 dan VS2017
Bekerja dengan TFS (on-prem) atau VSO (Visual Studio Online - penawaran yang di-hosting oleh Azure)
Dokumentasi NuGet memberikan instruksi tentang cara menyelesaikan ini dan saya hanya mengikuti mereka dengan sukses untuk Visual Studio 2015 & Visual Studio 2017 terhadap VSTS (Azure-host TFS). Semuanya diperbarui sepenuhnya pada
November 2016Agustus 2018.Saya sarankan Anda mengikuti instruksi NuGet tetapi hanya untuk rekap apa yang saya lakukan:
packages
folder Anda tidak berkomitmen untuk TFS. Jika ya, keluarkan dari sana..sln
file Anda ada kecuali ditentukan sebaliknya (instruksi NuGet tidak sepenuhnya jelas tentang ini)..nuget
folder. Anda dapat menggunakan Windows Explorer untuk menamainya agar.nuget.
berhasil disimpan sebagai.nuget
(secara otomatis menghapus periode terakhir) tetapi secara langsung mencoba untuk menamai itu.nuget
mungkin tidak berfungsi (Anda mungkin mendapatkan kesalahan atau mungkin mengubah namanya, tergantung pada versi Windows Anda ). Atau beri nama nuget direktori, dan buka direktori induk di prompt baris perintah. Tipe. ren nuget .nugetNuGet.config
file dan tambahkan konten berikut dan simpan:NuGet.config:
.sln
folder Anda dan buat file teks baru dan beri nama.tfignore
(jika menggunakan Windows Explorer, gunakan trik yang sama seperti di atas dan beri nama.tfignore.
).tfignore:
.tfignore
file dan.nuget
folder ke semua berbagai solusi saya dan lakukan mereka dan saya tidak lagi memilikipackages
folder yang mencoba menyelinap ke repo kontrol sumber saya!Kustomisasi Lebih Lanjut
Meskipun bukan milik saya, saya menemukan templat ini
.tfignore
oleh sirkirby berguna. Contoh dalam jawaban saya mencakuppackages
folder Nuget tetapi template ini mencakup beberapa hal lain serta memberikan contoh tambahan yang dapat berguna jika Anda ingin menyesuaikan ini lebih lanjut.sumber
Jika Anda menggunakan ruang kerja lokal (TFS 2012+) Anda sekarang dapat menggunakan
.tfignore
file tersebut untuk mengecualikan folder dan file lokal agar tidak diperiksa.Jika Anda menambahkan file itu ke kontrol sumber, Anda dapat memastikan orang lain di tim Anda berbagi pengaturan pengecualian yang sama.
Detail lengkap tentang MSDN - http://msdn.microsoft.com/en-us/library/ms245454.aspx#tfignore
Untuk yang malas:
File contoh:
sumber
.tfignore
jadi saya membuat.tfignore.
dan menghapus titik terakhir sendiri ...tfignore
file karena tidak memiliki nama yang tepat, Anda dapat membuatnya atau mengganti nama melalui jendela baris perintah.Ini tidak tampak sedikit rumit untuk mengabaikan file (dan folder) di Team Foundation Server. Saya telah menemukan beberapa cara untuk melakukan ini (menggunakan TFS / Team Explorer / Visual Studio 2008). Metode-metode ini bekerja dengan tipe proyek situs web ASP juga.
Salah satu caranya adalah dengan menambahkan item baru atau yang sudah ada ke proyek (misalnya klik kanan pada proyek, Tambah Item yang Ada atau seret dan lepas dari Windows explorer ke dalam solusi explorer), biarkan TFS memproses file atau folder, kemudian membatalkan pending perubahan pada item. TFS akan menghapus tanda mereka sebagai memiliki perubahan add yang tertunda, dan file akan duduk diam di proyek dan tetap keluar dari TFS.
Cara lain adalah dengan perintah Add Items to Folder dari Source Control Explorer. Ini meluncurkan wizard kecil, dan pada salah satu langkah Anda dapat memilih item untuk dikecualikan (meskipun, saya pikir Anda harus menambahkan setidaknya satu item ke TFS dengan metode ini agar wizard memungkinkan Anda melanjutkan).
Anda bahkan dapat menambahkan kebijakan check-in pola terlarang (di bawah Tim -> Pengaturan Proyek Tim -> Kontrol Sumber ... -> Kebijakan Check-in) untuk melarang orang lain di tim untuk tidak keliru memeriksa aset tertentu.
sumber
Untuk TFS 2013 :
Mulai di VisualStudio- Team Explorer , di Dialog PendingChanges membatalkan Perubahan dengan status [add], yang harus diabaikan.
Visual Studio akan mendeteksi Add (s) lagi. Klik "Terdeteksi: x tambahkan" -dalam Perubahan yang Dikecualikan
Dalam "Promote Cadidate Changes" yang dibuka, -Dialog Anda dapat dengan mudah mengecualikan File dan Folder dengan Contextmenu. Pilihannya adalah:
Jangan lupa untuk Memeriksa Di .tfignore-File yang diubah.
Untuk VS 2015/2017 :
Prosedur yang sama: Di "Tab Perubahan yang Dikecualikan" di TeamExplorer \ Perubahan yang Tertunda klik pada Terdeteksi: xxx add (s)
Dialog "Promote Calon Changes" terbuka, dan pada entri Anda dapat Klik-kanan untuk Contextmenu. Kesalahan ketik sudah diperbaiki sekarang :-)
sumber
Saya menemukan cara sempurna untuk Abaikan file di TFS seperti SVN.
Pertama-tama, pilih file yang ingin Anda abaikan (mis. Web.config).
Sekarang buka tab menu dan pilih:
... dan boom; file Anda secara permanen dikecualikan dari kontrol sumber.
sumber
Saya akan menganggap Anda menggunakan Proyek Situs Web. Ini secara otomatis merayapi direktori proyek mereka dan membuang semuanya ke dalam kendali sumber. Tidak ada cara untuk menghentikan mereka.
Namun, jangan putus asa. Proyek Aplikasi Web tidak menunjukkan perilaku aneh dan agak tak terduga ini (imho: moronic). WAP adalah tambahan untuk VS2005 dan hadir langsung dengan VS2008.
Sebagai alternatif untuk mengubah proyek Anda menjadi WAP, Anda dapat mempertimbangkan untuk memindahkan folder Aset dari kontrol Sumber dan ke Perpustakaan Dokumen TFS. Hanya lakukan ini JIKA proyek itu sendiri tidak secara langsung menggunakan file aset.
sumber