Saya membuat cabang dari proyek SVN yang disebut 'fitur', dan sekarang setiap kali saya mencoba memperbarui proyek tersebut, ia membawa serta folder fitur, yang berisi salinan lain dari proyek tersebut dari cabang tersebut. Apakah ada cara untuk menghapus cabang dari repositori sepenuhnya sehingga ini tidak terjadi lagi?
91
Jawaban:
Tentu:
svn rm
folder yang tidak diinginkan, dan lakukan.Untuk menghindari situasi ini di masa mendatang, saya akan mengikuti tata letak yang direkomendasikan untuk proyek SVN:
/someproject/trunk
folder (atau hanya/trunk
jika Anda ingin meletakkan hanya satu proyek di repositori)/someproject/branches/somebranch
/someproject/tags
Sekarang ketika Anda memeriksa copy pekerjaan, pastikan untuk memeriksa hanya
trunk
atau beberapa cabang individu. Jangan memeriksa semuanya dalam satu copy pekerjaan besar yang berisi semua cabang. 11 Kecuali Anda tahu apa yang Anda lakukan, dalam hal ini Anda tahu cara membuat copy pekerjaan yang dangkal.
sumber
Dengan asumsi cabang ini bukan eksternal atau symlink, menghapus cabang harus sesederhana:
Jika Anda ingin melakukan ini di repositori kemudian perbarui untuk menghapusnya dari copy pekerjaan Anda, Anda dapat melakukan sesuatu seperti:
Lalu lari:
sumber
svn rm -m message http://...
update
Bagi mereka yang menggunakan TortoiseSVN , Anda bisa melakukannya dengan menggunakan Browser Repositori (ini diberi label "Repo-browser" di menu konteks.)
Temukan folder cabang yang ingin Anda hapus, klik kanan, dan pilih "Hapus."
Masukkan pesan komit Anda, dan Anda selesai.
sumber
Anda juga dapat menghapus cabang di remote secara langsung. Setelah melakukan itu, pembaruan berikutnya akan menghapusnya dari copy pekerjaan Anda.
Ini
^
adalah kependekan dari URL remote, seperti yang terlihat di 'svn info'. Tanda kutip ganda diperlukan pada baris perintah Windows, karena^
merupakan karakter khusus.Perintah ini juga akan berfungsi jika Anda belum pernah memeriksa cabang.
sumber
Anda dapat menghapus folder fitur seperti yang lain di checkout Anda lalu melakukan perubahan.
Untuk mencegah hal ini di masa mendatang, saya sarankan Anda mengikuti konvensi penamaan untuk layout SVN.
Berikan setiap proyek trunk, branch, tags folder saat mereka dibuat.
sumber
Dari copy pekerjaan:
svn rm branches/features
svn commit -m "delete stale feature branch"
sumber
Perintah untuk menghapus cabang adalah sebagai berikut:
svn delete -m "<pesan Anda>" <branch url>
Jika Anda tidak ingin mengambil / melakukan pembayaran seluruh repo, jalankan perintah berikut di terminal Anda:
1) dapatkan jalur absolut dari direktori yang akan berisi copy pekerjaan Anda
> pwd
2) Mulai kode svn checkout
> svn checkout <branch url> <jalur absolut dari poin 1>
Langkah-langkah di atas akan memberi Anda file di dalam folder cabang dan bukan seluruh folder.
sumber