Git pull ενός συγκεκριμένου κλάδου από το GitHub

Έχω ένα έργο με πολλαπλούς κλάδους. Τα προωθούσα στο GitHub και τώρα που κάποιος άλλος εργάζεται στο έργο πρέπει να τραβήξω τα κλαδιά του από το GitHub. Λειτουργεί μια χαρά στο master. Αλλά ας πούμε ότι κάποιος δημιούργησε έναν κλάδο xyz. Πώς μπορώ να τραβήξω τον κλάδο xyz από το GitHub και να τον συγχωνεύσω στον κλάδο xyz στο δικό μου localhost;

Στην πραγματικότητα έχω την απάντησή μου εδώ: https://stackoverflow.com/questions/1072261/push-and-pull-branches-in-git

Αλλά λαμβάνω ένα σφάλμα "! [rejected]" και κάτι για "non fast forward".

Κάποια πρόταση;

Απλά παρακολουθείτε ρητά τους απομακρυσμένους κλάδους σας και ένα απλό git pull θα κάνει ακριβώς αυτό που θέλετε:

git branch -f remote_branch_name origin/remote_branch_name
git checkout remote_branch_name

Το τελευταίο είναι μια τοπική λειτουργία.

Ή ακόμα περισσότερο ταιριάζει με την τεκμηρίωση του GitHub σχετικά με το forking:

git branch -f new_local_branch_name upstream/remote_branch_name
Σχόλια (1)

Μπορείτε να τραβήξετε ένα κλαδί σε ένα κλαδί με τις ακόλουθες εντολές.

git pull {repo} {remotebranchname}:{localbranchname}

git pull origin xyz:xyz

Όταν βρίσκεστε στο master branch μπορείτε επίσης να κάνετε πρώτα checkout ένα branch όπως:

git checkout -b xyz

Αυτό δημιουργεί έναν νέο κλάδο, "xyz", από τον master και τον ελέγχει άμεσα.

Στη συνέχεια, κάνετε:

git pull origin xyz

Αυτό τραβάει το νέο κλάδο στον τοπικό σας κλάδο xyz.

Σχόλια (3)

Δεν είμαι σίγουρος ότι καταλαβαίνω πλήρως το πρόβλημα, αλλά το τράβηγμα ενός υπάρχοντος κλάδου γίνεται ως εξής (τουλάχιστον λειτουργεί για μένα :)

git pull origin BRANCH

Αυτό προϋποθέτει ότι ο τοπικός σας κλάδος έχει δημιουργηθεί από το origin/BRANCH.

Σχόλια (0)