Kami bekerja sama dengan beberapa bukan programmer (penulis) yang perlu berkontribusi ke salah satu proyek kami.
Sekarang mereka hanya tidak menyukai gagasan untuk menggunakan Git (atau apa pun juga) untuk versi yang mengontrol pekerjaan mereka. Saya pikir ini adalah karena mereka hanya tidak merasa berguna untuk membungkus kepala mereka di sekitar konsep memutar kontrol versi. (ketika saya pertama kali memperkenalkan mereka ke percabangan dan penggabungan - mereka tampak seperti saya menyinggung mereka.)
Sekarang, kita tidak dalam posisi untuk mendidik mereka atau meyakinkan mereka untuk menggunakannya. Kami hanya berusaha mencari alternatif agar kami mendapatkan semua versi pekerjaan mereka (yang kami butuhkan) - dan mereka mendapatkan alur kerja yang mudah dan berkonsentrasi pada apa yang mereka lakukan.
Saya telah datang dengan beberapa ide ...
- beri tahu mereka untuk menyimpan pekerjaan mereka sebagai file terpisah setiap kali mereka membuat perubahan non-sepele, dan kemudian gunakan diff di pihak kita untuk hanya melacak perubahan.
- menulis sebuah program (dengan Python) yang mengimplementasikan "tonggak" di CSSEdit dalam beberapa cara.
Tentang proyek:
Ini adalah sistem pemrosesan bahasa alami (ditulis dalam C + Python). Kami telah merekrut beberapa penulis untuk menyiapkan input untuk sistem dalam berbagai bahasa. Dan seiring kami mengembangkan perangkat lunak, kami membutuhkan para penulis itu untuk membuat perubahan pada masukan mereka (artikel). Terkadang perubahannya sangat kecil (satu atau dua kata), dan lain kali besar.
Alasan kita perlu mengontrol versi perubahan itu adalah karena setiap perubahan kecil / besar pada input memiliki potensi untuk mengubah output sistem secara dramatis.
sumber
Jawaban:
Ini mungkin karena percabangan dan penggabungan adalah konsep-konsep canggih, dan jauh lebih tidak berguna daripada sekadar melacak perubahan.
Jadi mengapa tidak menjelaskan "komit" (simpan) dan "perbarui" saja? Dua konsep yang sangat sederhana . Saya yakin Anda bisa menjelaskannya dalam waktu kurang dari 10 menit.
Jika Anda benar-benar ingin menggunakan cabang terpisah dan hal-hal seperti itu, Anda dapat melakukannya sendiri tanpa melibatkan mereka.
sumber
Pendekatan yang agak tidak lazim hanya menggunakan Dropbox . Mintalah penulis menyimpan file di direktori dropbox dan Anda mendapatkan versi dan cadangan secara gratis. Plus pada dasarnya tidak ada kurva belajar untuk penulis.
Untuk git, sepertinya pada akhirnya Anda akan memberikan versi cabang yang benar kepada penulis, jadi masukkan saja repo git di dropbox dan pegang percabangan dan penggabungan untuk para penulis.
sumber
Sejujurnya jawabannya ada dalam suntingan Anda: "Kami telah merekrut beberapa penulis" - kadang-kadang Anda hanya harus berpikiran berdarah ... mereka ingin uang Anda, mereka harus melakukan apa yang Anda inginkan asalkan apa yang Anda inginkan tidak masuk akal.
Argumen yang Anda buat adalah argumen yang telah Anda ajukan - kita harus dapat melakukan X, Y dan Z untuk membuat produk berfungsi - dan untuk melakukan ini, kami ingin Anda melakukannya. Kami akan mendukung yang kami bisa, tetapi agar ini berhasil (dan karena itu agar terus berlanjut sebagai aliran pendapatan untuk Anda, penulis) ini harus terjadi.
Saya cenderung setuju bahwa solusi berbasis Wiki yang tepat tampaknya akan menjadi pasangan yang baik - tetapi tantangannya di sini adalah bagaimana menemukan kompromi antara alur kerja mereka dan persyaratan Anda.
Saya akan mengulangi poin utama - agar proyek Anda sukses, Anda perlu artikel untuk diversi sehingga orang yang mengerjakan artikel harus bermain dengan seperangkat aturan yang disepakati, jika ini tidak terjadi, Anda akan mendapatkan dibakar dan dengan ekstensi demikian juga para penulis.
sumber
Saya harus berurusan dengan situasi yang sama seperti ini sebelumnya. Pada akhirnya kami hanya menunjuk satu pengembang (saya) sebagai titik kontrol versi kontak untuk pihak ke-3.
Pihak ketiga akan mengirimi saya file zip file proyek mereka setiap hari dan saya akan melakukan checkin untuk mereka. Saya menyiapkan ruang kerja proyek terpisah dan akun svn untuk mereka dan akan membuka ritsleting file ke ruang kerja itu menimpa apa yang ada di sana dan kemudian melakukan checkin di bawah akun itu.
Itu bukan hal yang paling menyenangkan untuk dilakukan setiap hari, tetapi kadang-kadang lebih penting untuk menyelesaikan pekerjaan saja.
Satu plus adalah bahwa hal itu membantu saya meninjau pekerjaan mereka untuk memastikan mereka tidak memeriksa kode dan data yang buruk yang akan merusak build.
sumber
SparkleShare adalah dropbox-clone berbasis git, saya pikir itu sesuai dengan kebutuhan Anda.
Pembaruan (November 2015) : Proyek ini tampaknya ditinggalkan (rilis terakhir dari April 2014).
sumber
Jika Anda dapat memberikan ruang kerja siap dengan transparan VCS-penggunaan, mereka akan menggunakan VCS. Jangan mengajari non-programmer untuk menggunakan VCS dengan cara programmer
Temukan saja editor dengan dukungan VCS tertanam, konfigurasikan, dan tampilkan langkah mudah tambahan dalam karya mereka.
Sebagai contoh - Editplus tahu tentang Subversion, memiliki kemampuan untuk melakukan operasi dasar SVN di dalam jendela editor. Editplus terbaru bahkan dapat menggunakan TortoiseGIT untuk Integrasi Git
Sunting : menemukan solusi alternatif beberapa arah: EasySVN , yang, jika dikonfigurasikan dengan benar, memantau copy pekerjaan dan melakukan autocommit dan automerge, memungkinkan untuk menggunakan alat authoring apa pun untuk pengguna akhir dan format dokumen apa pun
sumber
Bagaimana dengan pengaturan WebDAV ?
Ini akan secara otomatis menangani sejarah versi garis lurus untuk mereka. Yang harus mereka lakukan adalah terhubung ke server seolah-olah itu drive jaringan dan setiap penyimpanan akan menjadi komit.
sumber
Google Documents
Google Documents dapat melakukan apa yang Anda inginkan.
File > See Revision History
akan memungkinkan Anda melacak perubahan.Anda juga punya masalah menyerahkan file bolak-balik diurus secara gratis; cukup bagikan dokumen di antara semua orang.
Akhirnya, mudah digunakan; para penulis bahkan tidak perlu tahu bahwa ada versi yang terjadi.
sumber
OS Agnostik
Tulis program Python yang dapat Anda seret dan jatuhkan file, program itu kemudian dapat melakukan
git add
dangit commit
dan apa yang tidak dan mereka tidak pernah harus menghadapinya.atau
Gunakan sistem file berbasis WebDav Anda dapat memasang di mesin mereka dan meminta server melakukan
git
hal - hal secara transparan.OSX / Linux
Tulis sebuah plugin FUSE berbasis Python yang mengambil file-file tersebut dan berkomitmen untuk git. Kemudian mereka bisa membuka dan menyimpan dari sistem file yang dipasang secara transparan. Ada beberapa SEKERING untuk sumber daya Windows , tetapi mereka mungkin bahkan tidak layak untuk dibodohi.
Windows
Anda mungkin dapat menulis beberapa kode untuk menggunakan Driver Filter FileSystem untuk melakukan
git
hal - hal secara transparan .sumber
Ah, kegembiraan yang bukan coders mucking. Saya sarankan agar lingkungan git / mercurial diatur untuk mereka. Katakan pada mereka untuk menyimpan semuanya dalam format yang bisa ditangani oleh repo. Dengan tortoisegit atau tortoisehg , mereka tidak perlu tahu bagaimana repo bekerja. Mereka hanya memeriksa apakah mereka memiliki tanda seru di direktori proyek mereka, klik kanan file yang menyinggung, dan klik komit. Ketikkan sinopsis perubahan (itu adalah penulis, bukan?) Dan Anda selesai!
Langkah ekstra dalam alur kerja untuk mereka, tetapi tidak ada yang terkait dengan penggabungan / percabangan / hal-hal keren. Lingkungan pra dibangun sudah diatur untuk berada di cabang penulis, sehingga mereka tidak melihat kode. Minta skrip otomatis disinkronkan setiap hari. Kemudian, setelah mereka terbiasa melakukan, Anda dapat menunjukkan kepada mereka fitur tambahan. Kemampuan untuk melihat apa yang berubah ketika sangat berguna sehingga mereka tidak akan bisa melakukannya tanpanya, begitu Anda menyelinap ke dalam alur kerja mereka.
sumber
Bagaimana dengan Share Point? Saya tahu itu tidak populer di dunia pengembangan tetapi jika penulis Anda menggunakan Windows sebagai OS, itu akan bekerja dengan baik dan mereka tidak akan benar-benar tahu bahwa mereka menggunakan kontrol versi (Nilai tambah besar untuk pekerjaan saya).
Solusi ini juga menjaga mereka dari berurusan dengan apa pun yang akan membuat mereka takut, karena tampaknya mereka tidak senang dengan hal-hal baru.
sumber
Bisakah Anda mengatur alat yang memonitor sistem file di mana penulis menyimpan file mereka dan melakukan itu melakukan komit otomatis setiap kali mereka membuat menyimpan?
Jika Anda meletakkannya di jaringan berbagi Anda bisa melakukan semua konfigurasi tanpa melibatkan mereka sama sekali; tetapi setiap kali mereka menyediakan versi terbaru untuk digunakan tim Anda, itu akan ditambahkan ke git untuk Anda.
sumber
Apakah Anda melihat Plastik SCM. Mereka berusaha membuatnya lebih mudah untuk digunakan
Jika Anda hanya ingin cadangan berversi, Anda dapat menggunakan Dropbox atau Anda dapat mengatur layanan cadangan Windows. Atau Anda dapat menginstal Crashplan atau produk serupa lainnya.
sumber
Untuk Mercurial DVCS, ada antarmuka pengguna yang disebut EasyMercurial , yang tujuannya dinyatakan secara eksplisit untuk memberikan pandangan sederhana tentang operasi kontrol versi dasar.
Saya akan merekomendasikan mencobanya.
sumber
Saya harus bekerja dengan non-programmer berkali-kali (kebanyakan seniman grafis, dan jika penulis Anda memiliki sedikit petunjuk bagaimana mengelola file kerja sebagai seniman maka Anda berada dalam untuk ... h'mmm .... menyenangkan .. .). Ada tiga pendekatan yang mungkin:
Secara pribadi saya pikir opsi 3 adalah cara untuk pergi. Ini berarti rasa sakit & iritasi bagi siapa pun yang harus mengambil pengiriman file dan memeriksanya, tetapi jauh lebih sedikit daripada opsi lain.
Saya juga akan mengatakan, perlu diketahui bahwa non-programmer akan mengirimkan file dengan nama file lama yang dapat Anda pikirkan. Konvensi penamaan anehnya asing bagi mereka. Mereka akan memberi Anda file yang disebut "Gambar" atau sesuatu dan kemudian ketika Anda memberi tahu mereka hal-hal yang salah dengan itu akan memberi Anda file yang disebut "Picture_Final", yang hanya memperbaiki sekitar 3 kesalahan. Ketika Anda menunjukkan ini, Anda akan mendapatkan file lain, yang disebut "Picture_NewFinal", dan kemudian (jika Anda beruntung) "Picture_NewFinal2", meskipun ada kemungkinan bahwa mereka pada saat ini akan membuang semua perkembangan sejarah dan menyebutnya "Spanner Icon benda".
Sekali lagi Anda dapat mencoba menegakkan konvensi penamaan, yang berarti memberi tahu mereka terlebih dahulu tentang apa setiap file yang akan dipanggil, atau Anda dapat menghabiskan waktu berjam-jam menguraikan & mengganti nama apa yang mereka kirim kepada Anda. Di sini saya akan mengatakan Anda ingin spreadsheet untuk kewarasan Anda sendiri, jadi cobalah membuat mereka untuk mengikutinya: hanya jangan terkejut ketika mereka tidak.
Semoga itu bisa membantu - bersenang-senanglah!
sumber
Jika ada kemungkinan bahwa keduanya harus bekerja pada target yang sama sekaligus DAN jika Anda dapat menangani semua pekerjaan mereka dalam file teks, saya akan mencoba berbagi google docs.
Ini memiliki kemampuan multi-editor / kolaborasi yang luar biasa - sejauh ini yang terbaik yang pernah saya lihat. Mereka juga versi lengkap dan dapat diekspor sebagai file teks.
Tapi itu adalah dua seandainya cukup besar.
sumber
Biarkan mereka bekerja di folder, menyimpan file seperti biasa.
Sekali sehari (atau seminggu, dll) salin isi folder itu ke backup_dd_mm_yyyy Kebanyakan kode sumber sistem menempati jumlah ruang yang sepele mengingat ruang yang tersedia saat ini.
Salinan dapat dilakukan oleh Anda, mereka, pihak ketiga, alat atau skrip.
Ini membatasi kerugian hingga satu hari, memberikan sejarah, transparan bagi mereka.
Tidak sempurna untuk salah satu pihak tetapi jawaban yang berusaha untuk mencapai jalan tengah.
sumber