Saya persis dalam situasi ini, tetapi saya memang memilih alur kerja yang sedikit lebih kompleks meskipun tidak harus lebih rumit dengan Git.
Tujuan awalnya adalah mempelajari cara git jadi saya melakukan sejumlah penjelajahan. lalu kembali ke cukup banyak alur kerja yang Anda gambarkan.
Setelah beberapa saat ini menjadi sulit untuk dikerjakan karena beberapa situasi muncul juga memberi saya kebiasaan buruk yang akan sulit untuk dihancurkan begitu saya bergabung dengan tim.
jadi saya memilih yang berikut:
- Repositori lokal untuk bekerja.
- Cabang induk sebagai batang stabil untuk aplikasi
- Satu cabang untuk setiap fitur / refactor, pada dasarnya satu cabang untuk setiap perubahan yang cukup besar yang akan dilakukan.
- Gabungkan kembali ke bagasi ketika cabang stabil dan semua tes lulus.
Saya juga mengatur akun hub git tempat saya menyinkronkan trunk. Ini memungkinkan saya untuk dengan mudah mulai bekerja pada komputer yang berbeda. Itu karena kebutuhan tetapi memungkinkan saya untuk menemukan bug yang terkait dengan lingkungan saya di mana tidak tersedia di komputer lain. Jadi sekarang saya biasakan untuk mencoba proyek pada sistem "perawan" yang berbeda setidaknya sekali. Menghemat banyak sakit kepala ketika tiba saatnya untuk menyebar ke pelanggan.
- Saya menandai setiap versi yang membuatnya menjadi github sebagai versi yang dapat dirilis.
- Jika dirilis ke pelanggan saya akan cabang dari versi ini untuk membuat trunk stabil kedua untuk perbaikan bug yang dinyatakan oleh pelanggan.
Cabang-cabang ganda pada awalnya tampak seperti berlebihan tetapi itu BENAR-BENAR banyak membantu. Saya dapat memulai sebuah ide di cabang, mengerjakannya sebentar dan ketika saya mulai menjalankan lingkaran saya menyerah dan memulai cabang lain untuk mengerjakan sesuatu yang lain. Kemudian sebuah ide muncul dimana saya akan kembali ke cabang setengah matang dan mengeksplorasi ide ini. keseluruhan ini membuat saya JAUH lebih produktif karena saya bisa bertindak cepat dan ide sangat cepat dan melihat apakah itu berhasil. Biaya beralih cabang dengan GIT sangat rendah membuat saya sangat gesit dengan basis kode saya. Yang mengatakan saya masih harus menguasai konsep rebase untuk membersihkan sejarah saya, tetapi karena saya sendirian saya ragu saya benar-benar perlu. Mendorongnya sebagai "senang belajar".
Ketika semua percabangan menjadi rumit maka saya menjelajahi opsi log untuk menggambar pohon perubahan dan melihat cabang mana yang ada.
Singkat cerita, git tidak seperti SVN, CVS, atau (brrr) TFS. Bercabang sangat murah dan membuat kesalahan yang akan menghapus pekerjaan sebenarnya cukup sulit. Hanya sekali saya kehilangan beberapa pekerjaan dan itu karena saya membuat komitmen saya terlalu besar (lihat kebiasaan buruk di atas). Jika Anda sering melakukan, dengan git kecil git pasti akan menjadi sekutu terbaik Anda.
Bagi saya git membuka pikiran saya tentang apa sebenarnya kontrol sumber. Yang lain sebelumnya hanyalah upaya untuk mendapatkannya, git adalah yang pertama, yang ada di pikiran saya, mengerti. Yang mengatakan, saya tidak mencoba DVCS lain, sangat mungkin pernyataan ini bisa melebar ke seluruh keluarga.
Satu saran terakhir, baris perintah adalah teman Anda. Bukan untuk mengatakan bahwa alat grafis tidak baik, justru sebaliknya tetapi saya benar-benar groked git ketika saya turun ke baris perintah dan mencobanya sendiri. Ini sebenarnya dibuat dengan sangat baik, mudah diikuti dengan sistem bantuan yang sangat komprehensif. Masalah terbesar saya adalah terikat pada konsol jelek di windows sampai saya menemukan alternatif.
Sekarang saya menggunakan keduanya, Eclipse integrasi dengan Git untuk melihat apa yang terjadi secara real time dan melakukan beberapa operasi seperti diffs, menjelajahi sejarah file, dll. Dan baris perintah untuk percabangan, penggabungan, mendorong, mendapatkan dan pohon log yang lebih kompleks . beberapa scripting dasar dan saya tidak pernah begitu produktif dalam hal kontrol sumber dan saya tidak pernah memiliki begitu banyak kendali atas sumber saya.
Semoga berhasil, semoga ini membantu.