Ξεκινάω το project του μεταπτυχιακού μου και έχω το εξής ζήτημα. Ό,τι κάνω στα πλαίσια του project θα μπαίνει σε git version control, το οποίο θα περιλαμβάνει κώδικα, αρχεία δεδομένων, προσωρινά αρχεία, αρχεία latex για τη συγγραφή της διπλωματικής κλπ κλπ.
Σκέφτηκα ότι αν θέλω μετά να ανεβάσω π.χ. στο GitHub τον κώδικα και μόνο, θα πρέπει να ανεβάσω το τελικό αποτέλεσμα του κώδικα σε ένα καινούριο αποθετήριο, για να μην κουβαλήσω όλα τα άσχετα αρχεία μαζί. Αυτό όμως δε με ευχαριστεί, γιατί δε θα φαίνονται τα διάφορα στάδια της δουλειάς μου, ούτε θα μπορεί κάποιος να συνεισφέρει σε ένα συγκεκριμένο σημείο. Έτσι σκέφτομαι να φτιάξω ένα repo μόνο για τον κώδικα, μέσα στο κύριο repo που θα περιλαμβάνει τα πάντα.
Διάβασα για τα git submodules, μέσω των οποίων δημιουργείς ένα υπο-αποθετήριο μέσα στο κύριο που έχεις, αλλά μου φάνηκε πολύ περίπλοκη διαδικασία. Από την άλλη, είδα εδώ ότι υπάρχει τρόπος να μετατρέψεις εύκολα ένα Bazaar repo σε git, κρατώντας όλα τα commits.
Αυτό που σκέφτομαι λοιπόν είναι να έχω ένα κύριο git repo και μέσα του ένα bzr repo. Όταν θα θέλω να ανεβάσω τον κώδικα στο GitHub, θα μετατρέπω το bzr σε git και θα το στέλνω. Για κάθε νέο commit στο bzr, θα πρέπει να ξανακάνω μετατροπή σε git κοκ.
Νομίζετε πώς είναι πρακτικό ως ιδέα; Έχετε κάποια άλλη σκέψη;
EDIT: Από την άλλη θα μπορούσα να κρατώ ένα δεύτερο αποθετήριο git που να έχει μόνο τον κώδικα και να τον κάνω copy/paste κάθε φορά. Ωστόσο, αν γίνει κανένα λάθος, θα είναι μεγάλο μπέρδεμα...