Apakah ada satu perintah Subversion yang akan "mereset" copy pekerjaan persis ke keadaan yang disimpan dalam repositori? Sesuatu seperti git reset --hard
atau (ha, hard Git reset juga tidak menghapus file tidak berversi!) rm -rf wc && svn co <url> wc
.
Pembaruan: Saya tidak menginginkan pengembalian sederhana, karena itu tidak menghapus file tambahan dalam copy pekerjaan. Saya sangat menginginkan sesuatu yang akan sama dengan menghapus copy pekerjaan dan memeriksanya lagi, hanya tanpa harus mengunduh data lagi. (Jelas saya tidak keberatan kehilangan semua perubahan yang tidak mengikat.)
git clean -xdf
untuk menghapus hal-hal yang tidak berada di bawah kendali sumber.git clean
kutipan persis apa yang saya cari: "Ini dapat digunakan (mungkin sehubungan dengan git reset) untuk membuat direktori kerja yang murni untuk menguji build yang bersih." Sayangnya Subversion tidak memiliki sesuatu yang seperti ini.Jawaban:
Anda dapat kembali secara rekursif seperti ini:
svn revert --recursive .
Tidak ada cara (tanpa menulis skrip materi iklan) untuk menghapus hal-hal yang tidak berada di bawah kendali sumber. Saya pikir yang paling dekat yang bisa Anda lakukan adalah mengulang semua file, gunakan lalu grep hasilnya
svn list
, dan jika grep gagal, maka hapus.EDIT : Solusi untuk skrip kreatif ada di sini: Hapus file tidak berversi Subversion secara otomatis
Jadi, Anda dapat membuat skrip yang menggabungkan
revert
dengan jawaban mana pun di pertanyaan terkait yang paling cocok untuk Anda.sumber
svn cleanup
wc terlebih dahulu juga. Ini adalah praktik standar saya untuk membersihkan setelah penggabungan yang dibatalkan dan yang lainnya.Untuk mengembalikan file terlacak
Untuk membersihkan file yang tidak terlacak
The
-rf
mungkin / harus melihat menakutkan pada awalnya, tetapi sekali dipahami itu tidak akan untuk alasan ini:rm
-rf
diperlukan, yang lain direktori ini tidak akan dihapusUntuk mengembalikan lalu bersihkan (pertanyaan OP)
Untuk kemudahan penggunaan yang konsisten
Tambahkan alias permanen ke .bash_aliases Anda
sumber
awk: fatal: error reading input file '-': Input/output error
?
dalamawk
perintah, jika tidak maka itu cocok dengan semua baris dalam outputsvn status
Hapus semua yang ada di dalam salinan lokal Anda menggunakan:
Dan kembalikan semuanya secara rekursif menggunakan perintah di bawah ini.
Ini jauh lebih cepat daripada menghapus seluruh direktori dan kemudian melakukan pembayaran baru, karena file sedang dipulihkan dari data meta SVN lokal Anda. Ia bahkan tidak membutuhkan koneksi jaringan.
sumber
untuk mengatur ulang semuanya.
untuk satu file
sumber
Hapus file tidak berversi dan kembalikan setiap perubahan:
Di luar:
sumber
Solusi cmd / bat Windows murni:
sumber
Hapus copy pekerjaan dari OS dan periksa lagi paling sederhana, tetapi jelas bukan satu perintah.
sumber
Sangat cepat dan sederhana serta melakukan apa yang Anda inginkan
/(Configi>.ini)/ untuk tujuan saya sendiri.
Dan mungkin ide yang bagus untuk menambahkan --no-ignore ke perintah svn
sumber
Untuk menghapus file yang tidak terlacak
Saya dapat membuat daftar semua file yang tidak terlacak yang dilaporkan oleh
svn st
bash dengan melakukan:Jika Anda merasa beruntung, Anda dapat mengganti
echo
denganrm
menghapus file yang tidak terlacak. Atau salin file yang ingin Anda hapus dengan tangan, jika Anda merasa kurang beruntung.(Saya menggunakan jawaban @ abe-voelker untuk mengembalikan file yang tersisa: https://stackoverflow.com/a/6204601/1695680 )
sumber