Saya memulai repositori Git untuk proyek grup. Apakah masuk akal untuk menyimpan dokumen dalam repositori Git yang sama dengan kode - sepertinya ini bertentangan dengan sifat alur revisi git.
Berikut ringkasan pertanyaan saya:
Apakah gaya revisi Git akan membingungkan jika kedua kode dan dokumen diperiksa ke dalam repositori yang sama ? Pengalaman dengan ini?
Apakah Git cocok untuk kontrol revisi dokumentasi?
Saya TIDAK bertanya apakah Sistem Kontrol Revisi secara umum harus atau tidak boleh digunakan untuk dokumentasi - seharusnya.
Terima kasih atas responnya sejauh ini!
git
version-control
project-management
EmpireJones
sumber
sumber
Jawaban:
Kami menyimpan dokumentasi di SVN sepanjang waktu. Bahkan, seluruh panduan pengguna kami ditulis dalam LaTeX, dan disimpan dalam SVN. Kami memilih LaTeX secara khusus karena merupakan bahasa berbasis teks, dan mudah untuk menunjukkan perbedaan baris per baris.
Kami juga menyimpan beberapa file berformat non-teks, seperti file .doc Microsoft Office, spread sheet, file .zip, dll, bila perlu ... tetapi beberapa manfaat RCS hilang ketika Anda tidak dapat melihat tambahannya beda.
Kuncinya adalah memastikan dokumentasi Anda tertata dengan baik, sehingga orang-orang dapat menemukan (dan memperbarui) dokumentasi (dan sumbernya) ketika mereka membutuhkannya.
sumber
Baik itu tergantung pada format apa yang Anda gunakan untuk dokumentasi. Jika itu adalah sesuatu yang berbasis teks itu semua baik.
Git juga dapat menyimpan konten biner dan Anda dapat melacak revisi, tetapi output diff tidak masuk akal.
Dimungkinkan juga untuk menyimpan dokumentasi dalam kode itu sendiri seperti perldoc pod, java juga memiliki beberapa format / anotasi untuk ini.
sumber
Save As
, lalu pilihWord XML Document (*.xml)
sebagai ganti defaultWord Document (*.docx)
. XMLnya cukup rumit, jadi ini bukan jaminan perubahan akan mudah dibaca, tapi setidaknya tidak akan biner.Saya tidak dapat membayangkan mengapa Anda berpikir mungkin ada masalah menggunakan git, atau sistem kontrol versi lainnya, untuk dokumentasi. Sama seperti kode sumber, dokumentasi harus memiliki riwayat lengkap dan kemampuan untuk kembali ke versi sebelumnya jika itu diperlukan. Sistem kontrol versi sangat cocok untuk ini.
sumber
Jelas bahwa menggunakan semacam Sistem Kontrol Versi untuk menyimpan dokumen adalah hal yang mulia. Bagian yang lebih menarik dari pertanyaan ini adalah apakah ada baiknya menyimpan dokumen di lokasi SAMA sebagai kode sumber? Masalah yang mungkin terjadi di sini adalah bahwa mungkin sulit untuk menetapkan hak akses yang berbeda untuk kode dan dokumentasi dalam kasus itu. Dan dalam banyak kasus bisnis orang akan membutuhkan akses ke dokumen tetapi bukan kode sumber, seperti departemen pemasaran atau BA.
sumber
Di perusahaan tempat saya bekerja kami menempatkan dokumentasi di SVN. Namun, setelah beberapa konflik dan kebutuhan untuk membaginya, kami memutuskan untuk memindahkannya ke Mediawiki.
Awalnya itu trac, setelah itu pindah ke Mediawiki karena lebih mudah untuk menggunakan ...
Masalah utama dengan SVN adalah penyebab berbagi kami memiliki sistem otorisasi untuk SVN.
sumber
Memiliki lebih dari sekadar kode sumber dalam repositori adalah hal yang sangat bagus.
Ini mengelompokkan semua sumber daya Anda bersama-sama dan mengubah proyek menjadi entitas yang terpusat dan kohesif daripada kumpulan file yang tersebar. Kontributor / karyawan tahu di mana menemukan segalanya, daripada mengirim "Di mana saya mengubah dokumentasi untuk fitur x?" email.
Anda akan ingin mengatur segalanya. Memiliki sistem untuk memisahkan
src
dariimages
daridocs
. Anda selalu dapat menambahkan.gitignore
ke direktori untuk menjaga repositori dan riwayat bersih. Karena Git berkomitmen berbasis file, * Anda dapat memisahkan perubahan sumber dari perubahan dokumentasi sekuat yang Anda mau.Seperti yang orang lain katakan, Git bagus untuk versi dokumentasi selama itu berbasis teks.
Saya sangat setuju; dokumentasi harus diversi tepat di samping kode.
Kredibilitas saya berasal dari menjadi pengguna GitHub dan berkontribusi pada satu proyek dan menjelajahi banyak proyek lainnya. Dalam pengalaman saya, proyek yang lengkap dan terpadu mudah untuk diketahui dari yang tidak ada. Saya mencoba untuk memuat semua proyek saya dalam direktori tunggal bila memungkinkan.
* Ini tidak cukup akurat, karena ada cara untuk menentukan bagian dari file yang akan dikomit ( inilah salah satu contoh ).
sumber
Saya datang ke sini dengan pertanyaan serupa. Kami berasal dari lingkungan SVN, di mana pada dasarnya adalah no-brainer untuk menyimpan semua materi yang terkait dengan proyek dalam repositori yang sama. Karena sifat SVN, Anda dapat dengan mudah memeriksa bagian-bagian repositori, jadi jika Anda hanya perlu kode sumber (misalnya, penyebaran situs web), itu tidak masalah.
Dengan Git, segalanya berbeda. Sebuah checkout selalu berada di level root, jadi jika Anda ingin meletakkan semuanya di repositori yang sama, Anda akan selalu berakhir dengan struktur direktori yang sama. Salah satu pendekatan yang saya temui adalah meletakkan segala sesuatu di cabang terpisah, yaitu Anda memiliki kode-cabang (yang biasanya akan menjadi master normal Anda, mengembangkan, dll cabang) dan cabang doc, yang memiliki sendiri, struktur direktori terpisah. Saya belum yakin itu ide terbaik, tetapi itu adalah saran yang menghindari masalah yang saya bayangkan adalah dasar dari pertanyaan Anda.
sumber
Saya menggunakan wiki untuk dokumen internal ... dapatkan revisi PLUS akses menonjol / pengeditan mudah. Ketika dokumentasi tidak sinkron, perbarui saat itu juga. Untuk dokumentasi pengguna akhir, pertimbangkan alat profesional seperti Madcap Flare Mereka menggunakan dialek XML untuk berbagi, menyusun, dan mengubah dokumentasi.
sumber
Dalam kode, pikiran biasanya dipisahkan baris demi baris. Saya cenderung menulis dokumentasi dengan soft line wraps. Ketika saya mengkomit file-file itu, baris panjang paragraf. Itu tidak terlalu berguna untuk dibaca
git diff
. Itulah masalah yang saya coba selesaikan ketika saya mencari di Google dan menemukan halaman ini. Terima kasih kepada Arne Hartherz karena telah memperkenalkan sayagit diff --word-diff
. Anda mungkin lebih sukagit diff --color-words
.sumber