Περισσότερα
Πώς μπορώ να προωθήσω έναν νέο τοπικό κλάδο σε ένα απομακρυσμένο αποθετήριο Git και να τον παρακολουθήσω επίσης;
Θέλω να μπορώ να κάνω τα εξής:
-
Δημιουργία ενός τοπικού κλάδου με βάση κάποιον άλλο (απομακρυσμένο ή τοπικό) κλάδο (μέσω
git branch
ήgit checkout -b
) -
Μεταφέρετε τον τοπικό κλάδο στο απομακρυσμένο αποθετήριο (δημοσίευση), αλλά κάντε το παρακολουθήσιμο, ώστε τα
git pull
καιgit push
να λειτουργούν αμέσως.
Πώς το κάνω αυτό;
Γνωρίζω για το --set-upstream
στο Git 1.7, αλλά αυτό είναι μια ενέργεια μετά τη δημιουργία. Θέλω να βρω έναν τρόπο να κάνω μια παρόμοια αλλαγή κατά την ώθηση του κλάδου στο απομακρυσμένο αποθετήριο.
4141
3
Πριν από την εισαγωγή του
git push -u
, δεν υπήρχε η επιλογήgit push
για να αποκτήσετε αυτό που επιθυμείτε. Έπρεπε να προσθέσετε νέες δηλώσεις διαμόρφωσης.Αν δημιουργήσετε ένα νέο κλάδο χρησιμοποιώντας:
Μπορείτε να χρησιμοποιήσετε την εντολή
git config
για να αποφύγετε την απευθείας επεξεργασία του αρχείου.git/config
.Ή μπορείτε να επεξεργαστείτε χειροκίνητα το αρχείο
.git/config
για να έχετε πληροφορίες παρακολούθησης σε αυτόν τον κλάδο.Υποθέτω ότι έχετε ήδη κλωνοποιήσει ένα έργο όπως:
Στη συνέχεια, στο τοπικό σας αντίγραφο, δημιουργήστε έναν νέο κλάδο και ελέγξτε τον:
edit Ξεπερασμένη, απλά χρησιμοποιήστε
git push -u origin $BRANCHNAME
Χρησιμοποιήστε το
git publish-branch
από το William's miscellaneous Git tools (gitorious repo και clone).Εντάξει, δεν υπάρχει Ruby, οπότε - αγνοώντας τις δικλείδες ασφαλείας! - πάρτε τις τρεις τελευταίες γραμμές του σεναρίου και δημιουργήστε ένα σενάριο bash,
git-publish-branch
:Στη συνέχεια, εκτελέστε το
git-publish-branch REMOTENAME BRANCHNAME
, όπου REMOTENAME είναι συνήθως το origin (μπορείτε να τροποποιήσετε το σενάριο ώστε να παίρνει το origin ως προεπιλογή, κλπ...)