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

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

Δημοσ.

καλησπερα σε ολους,

 

(ανοιγω εδω το νημα αυτο μιας και ειναι αμεσα σχετιζομενο με προγραμματισμο,αν εκανα λαθος ας το αλλαξει καποιος mod).

 

Χρησιμοποιω το Netbeans 7.1.2 και εδω και καιρο κανω μια χαρα commit τα αρχεια μερικων projects μου στον github account μου.

Τωρα χρειαζομαι ομως να βαλω τον κωδικα μου σε ενα private repo,καθως δεν θελω να ειναι προσβασιμα απο οποιονδηποτε. Επειτα απο λιγο ψαξιμο,εφτιαξα ενα git repo σε εναν δικο μου server.

Ανοιγω το netbeans λοιπον,επιλεγω να γινουν commit τα αρχεια που θελω,επιλεγω remote>push,και επειτα μου ζηταει τα στοιχεια συνδεσης στο repository.

Οποτε εγω πληκτρολογω

>ssh://mysite.gr:22/ergasia1_c.git/

απο κατω πληκτρολογω το ονομα του git user και τον κωδικο του.και παταω next. Ομως δεν συνδεεται.

μηπως πληκτρολογω κατι λαθος?εννοω με λαθος τροπο..ετσι>>

>ssh://mysite.gr:22/ergasia1_c.git/

δεν πρεπει να γραψω τα στοιχεια της συνδεσης?

 

υγ:αρχαριος στο git :D

 

ευχαριστω εκ των προτερων για την βοηθεια!

Δημοσ. (επεξεργασμένο)

το εχω δει και το bitbucket,ομως απλα ηθελα να στησω και να χρησιμοποιησω git repo σε δικο μου server,ετσι απο ακαδημαικο ενδιαφερον..

 

edit:βρηκα τελικα τι εφτιαγε.επρεπε να γραψω το full path στην συνδεση μεσω ssh απο το netbeans :D

Επεξ/σία από koslibpro
Δημοσ.

προεκυψε ομως ακομη ενα θεμα:

εστω οτι εχω ολοκληρωσει εναν κωδικα και τον εχω ανεβασει στην master branch του private repo μου.

αν κανω μια αλλαγη και με δεξι κλικ πανω στο αρχειο που εγινε η αλλαγη επιλεξω git>remote>push και επειτα επειλεξω την master branch,δεν κανει την αλλαγη επιστρεφοντας output error "no updates found".

 

μπορει να με βοηθισει καποιος σε αυτο?

Δημοσ.

Μήπως πρώτα θέλει add και μετά commit; Δλδ μήπως δεν είναι staged ακόμα οι αλλαγές;

Δοκίμασε από κονσόλα:

 

git commit -a -m "some message"

git push (αν είναι ρυθμισμένο το remote)

Δημοσ.

το αποτελεσμα του git status ειναι

>
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#    .dep.inc
#    .gitignore
#    Makefile
#    nbproject/
nothing added to commit but untracked files present (use "git add" to track)

 

οχι και τοσο διαφωτιστικο θα ελεγα, καθως εχω κανει add/commit και παλι δεν γινεται τιποτα..

Δημοσ.

Άρα έχεις μόνο untracked αρχεία και όχι κάποια αλλαγή που δεν έκανες commit.

 

>
% git remote show origin
% git log origin/master..master

 

Μπορείς να τρέξεις μία από τις παραπάνω για να δεις αν υπάρχουν commits που δεν υπάρχουν στο remote (όπου origin και master, βάλε το όνομα του remote και branch σου αντίστοιχα). Αν δεν βγάλει αλλαγές τότε το remote είναι synced με το repo σου.

 

Μπορείς επίσης να τρέξεις και

>
% git show master
% git show origin/master

 

Για να δεις σε ποιο commit βρίσκονται τα δύο branch για να βεβαιωθείς ότι είναι το ίδιο.

Δημοσ.

locally μου δειχνει κανονικα ποιες αλλαγες εχουν γινει στα αρχεια στους κωδικες κτλπ.

 

οταν ομως προσπαθω να τα στειλω στην master,εκει κολαει.

 

να αναλυτικα απο κονσολα τι παιζει

 

>
[kostas@fedora ergasia_c]$ git add checks.h
[kostas@fedora ergasia_c]$ git commit -a -m "fixed it"
[master 7764005] fixed it
1 file changed, 2 insertions(+), 2 deletions(-)
[kostas@fedora ergasia_c]$ git push origin master
[email protected]'s password:
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 347 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To [email protected]:/path/ergasia_c.git
! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to '[email protected]:/path/ergasia_c.git'
[kostas@fedora ergasia_c]$

 

ps:αυτα αφου ειχα κανει και πιο πριν reset --hard

 

update: τελικα την λυση την βρηκα εδω.

 

χρειαστηκε να πληκτρολογισω

>
git config receive.denyCurrentBranch ignore

 

και μετα εγιναν ολα οκ.

 

ευχαριστω για την βοηθεια σε ολους:)

Δημοσ.

Α κάνεις push σε μη-bare repo. Δεν πήγε το μυαλό μου εκεί. Καλά και πώς σου έπαιζε μέχρι τώρα ?

 

Με αυτό που έκανες όντως θα παίζει αλλά δεν είναι "λύση" απλά σώπασες το git από το να σου θυμίζει το προβλημα. Αν είσαι ο μόνος που στέλνει σε αυτό το repo, τότε έχεις μικρότερη πιθανότητα να γίνει στραβή αλλά και πάλι μπορεί να γίνει.

 

Η δόκιμη λύση είναι να μετατρέψεις το repo σε bare το οποίο είναι πολύ εύκολο να γίνει και θα είσαι σίγουρος ότι δεν θα έχεις προβλήματα στο μέλλον.

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

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

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

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

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

Σύνδεση

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

Συνδεθείτε τώρα
  • Δημιουργία νέου...