Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας,

        έχω διαβάσει τον οδηγό του GitHub αλλά έχω μπερδευτεί λίγο.

Για να μπορέσω ας πούμε να προσθέσω κάτι (έστω ένα function) σε ένα project που είναι στο Git

Ποια βήματα πρέπει ακριβώς να ακολουθήσω?
Κάνω Clone το repository του project

μετά γράφω το function στο pc μου και μετά?

πως το δείχνω κατα κάποιον τρόπο σε κάποιον απο τους main Developers για να αποδεκτούν αυτό που έκανα και να το κάνουν merge?

Ευχαριστώ για το χρόνο σας.

  • Απαντ. 39
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

  • Moderators
Δημοσ.

Από το github οι οδηγίες είναι:

Κάνεις fork το repository που σε ενδιαφέρει, clone για να πάρεις τον κώδικα τοπικά, αλλαγές/commits/push στο δικό σου fork.

Όταν πιστεύεις ότι ο κώδικας είναι έτοιμος για να τον εξετάσουν οι αρχικοί developers κάνεις pull request

Δημοσ.

Pull request κάνω μέσω του site ε? όχι μέσω του command prompt.

οκ κατάλαβα σε γενικές γραμμές τι πρέπει να κάνω.

Ο Developer όμως μου είπε "make sure you base anything you do on the branch called stable"

Αυτό πως θα το προσέξω?

Λογικά δεν θα δημιουργήσω εγώ το stable branch... κάπου δεν πρέπει να υπάρχει?

  • Moderators
Δημοσ.

w63d.jpg

Είτε εννοεί το Master (δεν νομίζω) είτε έχουν ονομάσει κάποιο branch "stable", είτε διατηρούν branches ανά stable release που έχουν οπότε κατεβάζεις αυτό που αντιστοιχεί στην τελευταία stable έκδοση. Αυτό καταλαβαίνω εγώ...

Αλλά αφού μιλάτε γιατί δε ζητάς διευκρινήσεις να είσαι βέβαιος; 

Δημοσ.

Εντάξει πήγα εκει που μου δείχνεις στην εικόνα και το stable υπάρχει στη λίστα!
Οπότε, απλά αλλάζω branch και κάνω push και pull request εκει!
Am I right? :)

  • Moderators
Δημοσ.

Πατάς το "fork" εικόνίδιο (πάνω δεξιά). Αυτό θα δημιουργήσει forked repository στο λογαριασμό σου.

Μετά (στον λογαριασμό σου) επιλέγεις αυτό το forked repository, κι έπειτα επιλέγεις και δουλεύεις στο branch που σου είπαν.

 

Υποθέτω ότι κάτι τέτοιο θα δουλέψει από console (αφού κάνεις fork την repository):

Κάνοντας clone και θέτοντας το HEAD στο branch που θέλεις ($BRANCH και $REMOTE_REPO τα θέτεις ανάλογα):

 

git clone -b $BRANCH $REMOTE_REPO

 

Χωρίς να φέρεις τα άλλα branches:

 

mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH

http://stackoverflow.com/questions/1911109/git-clone-a-specific-branch

 

Βασικά, μέχρι τώρα υποθέτω ότι δεν είσαι στην ομάδα ανάπτυξης του project και δεν μπορείς/δεν αφήνουν να κάνεις άμεσα push πράγματα στο repository. Αλλιώς είναι πιο απλά πράγματα. 

  • Like 1
Δημοσ.

Δεν είμαι στην ομάδα.
Απλά είδα το project και αποφάσησα να σεινησφέρω πχ κάνοντας μετάφραση ή επεκτήνοντας μία καινούρια λειτουργία.

Επικοινώνησα με τον Developer και μου έδωσε το ok.
Αυτό ειναι όλο.



Τώρα που φόρτωσα το Project στο Eclipse πως το τρέχω?

Είναι μεγάλο project (θέλει install για να το τρέξει ένας απλός χρήστης).

Δεν έχω εμπειρία με μεγάλα project σαν αυτό. Είναι παρόμοιος ο τρόπος όπως όταν τρέχω μια μικρή εφαρμογή ?

Σε JAVA είναι.



WOW!
έχει επιλογή το Eclipse να φορτώνεις απευθείας το projetc απο το eclipse!

Δημοσ.

Έχω ήδη κάνει τη μετάφραση και δε μπορώ να κάνω compile το πρόγραμμα για να δω πως φαίνεται :/



Μπορεί να βοηθήσει κάποιος ?

Δημοσ.

Πρόσφατα προσπάθησα να ανεβάσω ένα Test-Project για να δω πως δουλεύει το GitHub, μου έβγαλε την παναγία και αποτέλεσμα δεν είδα.

 

Κατέβασα την κω*οεφαρμογή τους η οποία ήταν δύσχρηστη, πως στο διά*λο δουλεύει?

 

Μήπως θέλει και στα Windows CMD για να ανεβάσεις κάτι?

Δημοσ.

Τελικά το έκανα!
Η λογική είναι (πολύ χονδρικά απλα για να κάνεις ένα απλό commit σε ένα project)... Κάνεις

Fork απο τη σελίδα του project (έχει button με όνομα Fork),

μετα κάνεις clone to project μέσω του Git (εγώ το έκανα απο cmd) για να το κατεβάζεις στο pc σου τοπικά

και επιλέγεις σε ποιο branch του project θες να είσαι με την εντολή git checkout <branch>.

στη συνέχεια κάνεις git remote <url> για να συνδεθείς με το κατάλληλο repository που είναι αποθηκευμένο το project online.

Μετά αφου επεξεργαστείς το project κάνεις "git add ." (git add all) και git commit -m "comment" για να επικυρώσεις τοπικά το commit που έκανες.

και τέλος τρέχεις git push και πας στη σελίδα του project στο github και πατάς pull request!

Απο κει και πέρα είναι θέμα του admin για το αν θα δεχτεί να προσθέσει αυτό που έκανες στο branch του project που επέλεξες.

Δημοσ.

Τελικά το έκανα!

Η λογική είναι (πολύ χονδρικά απλα για να κάνεις ένα απλό commit σε ένα project)... Κάνεις

Fork απο τη σελίδα του project (έχει button με όνομα Fork),

μετα κάνεις clone to project μέσω του Git (εγώ το έκανα απο cmd) για να το κατεβάζεις στο pc σου τοπικά

και επιλέγεις σε ποιο branch του project θες να είσαι με την εντολή git checkout <branch>.

στη συνέχεια κάνεις git remote <url> για να συνδεθείς με το κατάλληλο repository που είναι αποθηκευμένο το project online.

Μετά αφου επεξεργαστείς το project κάνεις "git add ." (git add all) και git commit -m "comment" για να επικυρώσεις τοπικά το commit που έκανες.

και τέλος τρέχεις git push και πας στη σελίδα του project στο github και πατάς pull request!

Απο κει και πέρα είναι θέμα του admin για το αν θα δεχτεί να προσθέσει αυτό που έκανες στο branch του project που επέλεξες.

 

Η λογική που περιγράφεις αναφέρεται με εικόνες εδώ για όποιον θέλει να το δει. Από εκεί και πέρα υπάρχει απλά η διαφοροποίηση κάθε project. Για παράδειγμα σε άλλο θα δουλεύεις σε feature branches και θα στέλνεις να τα δουν. Άλλα project θέλουν να γίνεται merge στο master / develop / whatever και μετά να τους στέλνεις, κτλ.

 

Πρόσφατα προσπάθησα να ανεβάσω ένα Test-Project για να δω πως δουλεύει το GitHub, μου έβγαλε την παναγία και αποτέλεσμα δεν είδα.

 

Κατέβασα την κω*οεφαρμογή τους η οποία ήταν δύσχρηστη, πως στο διά*λο δουλεύει?

 

Μήπως θέλει και στα Windows CMD για να ανεβάσεις κάτι?

Τι πρόβλημα αντιμετώπισες ?

  • Like 1
Δημοσ.

 

Άλλα project θέλουν να γίνεται merge στο master / develop / whatever και μετά να τους στέλνεις, κτλ.

 

Αυτό αμα δεν επικοινωνήσεις με το Developer του project λογικά δεν μπορείς να το μάθεις αλλιώς ε ?

Δημοσ.

Αυτό αμα δεν επικοινωνήσεις με το Developer του project λογικά δεν μπορείς να το μάθεις αλλιώς ε ?

Τα projects στα οποία συνεισφέρουν πολλά άτομα συνήθως έχουν ένα έγγραφο που εξηγεί το workflow και ό,τι άλλες πληροφορίες "απαιτεί" το project (πχ tabs vs spaces, κτλ). Για παράδειγμα το git και ο πυρήνας του linux έχουν τα Coding Guidelines και Submitting Patches, το Wine εξηγεί ότι επιθυμεί "rebase workflow" αντί για "merge" και πάει λέγοντας.

 

Αν το project δεν αναφέρει τίποτα, τότε μπορείς να πάρεις μια ιδέα κοιτώντας τα υπάρχοντα αρχεία και το git log ή να ρωτήσεις όπως είπες κάποιο developer.

  • Like 1
Δημοσ.

Ότι στην εφαρμογή που κατεβάζεις (όχι CMD), δεν μπορώ να βρω στο γραφικό περιβάλλον πως να ανεβάσω κάποιο Project.

 

Βασικά θέλω να έχω πρόσβαση από διαφορετικές πηγές, παράδειγμα: Έστω ότι έχω ένα απλό Project σε DevC++, θέλω να το ανεβάσω στο Github ώστε να μην κουβαλάω το λαπτοπ μαζί μου, να μπορώ ρε παιδί μου να κατεβάσω μόνο το DevC++ και να μπω από την βιβλιοθήκη της σχολής πχ, ότι δουλειά κάνω να αποθηκευτεί...

 

θα μου πεις πάρε flashaki, σωστό! απλά θέλω να δω πως δουλεύουν αυτά τα κολοκύθια.

 

ΥΓ: Κάτι έχει πάρει το μάτι μου ότι γίνεται και με Dropbox, κατεβάζεις την εφαρμογή στον υπολογιστή σου και κάνει μόνο του Sync κάποιο αρχείο.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...