Ποια είναι τα κοινά λάθη Git και πώς να τα διορθώσετε;

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

Με την έκρηξη του τεχνολογία, καθίσταται αναπόφευκτο για κάθε άτομο IT να εργάζεται ταυτόχρονα σε πολλά δεδομένα και τα δεδομένα σας εξελίσσονται συνεχώς με το χρόνο. Είναι επίσης σημαντικό να παρακολουθείτε κάθε αλλαγή στα δεδομένα και να είστε προετοιμασμένοι να αναιρέσετε ή να επαναφέρετε τυχόν ανεπιθύμητες αλλαγές όταν απαιτείται.



Πρέπει να ομολογήσω, η έκδοση των δεδομένων μου στο Git μου επιτρέπει να είμαι πιο πειραματικός στην ανάπτυξη του έργου μου. Αν κάνω λάθος, ξέρω ότι το git έχει πάντα έναν τρόπο να αναιρέσει ή / και να επαναφέρει αυτήν την έκδοση του έργου μου στον τρόπο που ήταν πριν το βλάψω. Καθε Το επίπεδο έχει σχεδιαστεί για να επιτρέπει την αναθεώρηση και τροποποίηση των αλλαγών δεδομένων ή / και τη διόρθωση πριν από τη μεταφορά των δεδομένων στο επόμενο στάδιο. Τα ακόλουθα είναι τα λάθη που καλύπτονται σε αυτό το ιστολόγιο:



εφαρμογή μεγάλων αναλυτικών δεδομένων

Μη σταδιακά αρχεία / κατάλογοι από το Ευρετήριο

Κατά την προσθήκη ή / και την τροποποίηση αρχείων, συνήθως τείνετε να χρησιμοποιείτε την προεπιλεγμένη συμπεριφορά της εντολής «git add», δηλαδή να προσθέτετε όλα τα αρχεία και τους καταλόγους στο ευρετήριο.Πολλές φορές αισθάνεστε την ανάγκη να καταργήσετε την κατάργηση ορισμένων αρχείων ή να τα τροποποιήσετε για τελευταία φορά πριν τα εκτελέσετε.



Σύνταξη: επαναφορά git


αφαιρέστε αρχεία από το ευρετήριο - κοινά λάθη git -Edureka

Η αποσυμπίεση αρχείων από την περιοχή Ευρετήριο σάς δίνει μια άλλη ευκαιρία να επεξεργαστείτε ξανά τα δεδομένα σας προτού δεσμευτείτε σε ένα τοπικό repo.



Επεξεργαστείτε το τελευταίο μήνυμα που έχει δεσμευτεί

Εντολή: git comm - τροποποίηση
Μπορείτε να επεξεργαστείτε το πιο πρόσφατο μήνυμα δέσμευσης χωρίς να δημιουργήσετε νέο. Για να παραθέσω τα αρχεία καταγραφής δεσμεύσεων, έχω ορίσει ένα ψευδώνυμο «hist»:
Εντολή: git config --global alias.hist 'log --pretty = μορφή: '% C (κίτρινο)% h% Creset% ad | % C (πράσινο)% s% Creset% C (κόκκινο)% d% Creset% C (μπλε) [% an] '--graph --decorate --date = short'x


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

Ξεχάσατε μερικές αλλαγές στην τελευταία δέσμευση

Ας υποθέσουμε ότι ξεχάσατε να κάνετε κάποιες τροποποιήσεις και έχετε ήδη κάνει το στιγμιότυπό σας, επίσης δεν θέλετε να κάνετε άλλη δέσμευση για να επισημάνετε το λάθος σας.
Εντολή: git comm - τροποποίηση


Έχω επισημάνει πώς αναδημιουργήθηκε και άλλαξε το αναγνωριστικό sha-1 του πρόσφατου αντικειμένου. Προσποιήθηκα ότι έκανα μία μόνο δέσμευση που συνδυάζει και τις δύο αλλαγές σε μία.

Απορρίψτε τις τοπικές αλλαγές

Λοιπόν, εδώ είναι μια περίπτωση όπου τροποποίησα το αρχείο 'README' και το έβαλα. Στη συνέχεια, τροποποίησα το ίδιο αρχείο για δεύτερη φορά, αλλά συνειδητοποίησα ότι δεν ήθελα τη δεύτερη αλλαγή.

Τώρα, ας μην αναιρέσω ολόκληρη την αλλαγή με το χέρι, μπορώ απλώς να τραβήξω τη σταδιακή έκδοση του αρχείου.
Σύνταξη:
git ολοκλήρωση αγοράς -- τοπικές αλλαγές σε ένα αρχείο
git ολοκλήρωση αγοράς -- τοπικές αλλαγές σε όλα τα αρχεία στον κατάλογο & ντροπαλός

Εντολή: git checkout - ΔΙΑΒΑΣΤΕ

Έτσι, απορρίψαμε τις τελευταίες μου αλλαγές στο αρχείο και αποδέχτηκα τη σταδιακή έκδοση του αρχείου. Στην επόμενη δέσμευση, μόνο η σταδιακή έκδοση του αρχείου πηγαίνει στο τοπικό αποθετήριο.

Δεσμευμένα προσωπικά δεδομένα στο τοπικό αποθετήριο

Θέλω να αφαιρέσω ορισμένα δεδομένα από το τοπικό αποθετήριο αλλά να διατηρήσω τα αρχεία στον κατάλογο εργασίας.
Σύνταξη:
επαναφορά git - μικτό HEAD ~
επαναφορά git - μικτή

Εντολή: επαναφορά git - μικτό HEAD ~ 1
Το HEAD ~ 1 υποδεικνύει μια δέσμευση λίγο πριν από την πρόσφατη δέσμευση που υποδεικνύεται από το τρέχον κλάδο HEAD.

Τα αρχεία στο τρέχον στιγμιότυπο καταργήθηκαν τόσο από το τοπικό αποθετήριο όσο και από την περιοχή σταδιοποίησης. Προσθέστε τα ακόλουθα μοτίβα στο καθολικό αρχείο .gitignore για να τα αποκλείσετε από την παρακολούθηση από το git.
vim ~ / .gitignore_global
# αρχεία κωδικού πρόσβασης #
*.πέρασμα
*.κλειδί
* .passwd

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

Προσοχή: Εάν τα χάσετε, το git δεν μπορεί να τα ανακτήσει γιατί δεν το ξέρει.

Αντικαταστήστε την τελευταία δέσμευση με μια νέα δέσμευση

Σύνταξη: επαναφορά git - μαλακό [/ HEAD ~ n>]

Η επιλογή «–soft» απλώς αφαιρέστε τα δεσμευμένα αρχεία από το τοπικό αποθετήριο ενώ βρίσκονται ακόμα στο στάδιο του ευρετηρίου και μπορείτε να τα αναλάβετε ξανά μετά από έλεγχο. είναι το sha-1 του στιγμιότυπου που θέλετε να καταργήσετε από το τοπικό repo. όπου n είναι ο αριθμός των δεσμεύσεων πριν από τη δέσμευση HEAD

Εντολή :επαναφορά git - soft HEAD ~ 1


Τροποποιήστε τα αρχεία και κάντε τα ξανά

Εντολή: git commit -m 'Προσθήκη index.html και style.css'
Το ιστορικό δεσμεύσεών σας αποδεικνύεται τώρα:

Έπραξα λάθος δεδομένα

Σύνταξη:
επαναφορά git - σκληρό HEAD ~ n- επαναφέρετε το έργο σε δεσμεύσεις «n» πριν από το τελευταίο στιγμιότυπο
επαναφορά git - σκληρό- επαναφέρετε το έργο σε δεδομένο στιγμιότυπο δέσμευσης id

Εντολή: επαναφορά git - σκληρό HEAD ~ 1


Η τελευταία δέσμευση και τα κατεστραμμένα αρχεία αφαιρούνται από το τοπικό αποθετήριο, την περιοχή σταδιοποίησης καθώς και από τον κατάλογο εργασίας.

Προσοχή: Είναι μια επικίνδυνη εντολή καθώς καταλήγετε να χάνετε αρχεία στον κατάλογο εργασίας. Δεν συνιστάται σε απομακρυσμένο κοινόχρηστο αποθετήριο.

Επιστρέψτε στην παλιά μου κατάσταση έργου

Μπορείτε να χρησιμοποιήσετε μια παλαιότερη κατάσταση του έργου σας στην ιστορία του χρόνου. Εάν χάσετε την τελευταία έκδοση ή χρειάζεστε βελτιώσεις στον παλαιότερο κώδικα, ίσως θελήσετε να δημιουργήσετε έναν άλλο κλάδο από αυτό το παλιό στιγμιότυπο έργου για να μην εμποδίσετε την τρέχουσα εργασία σας. Ας δούμε πώς:
ένα. Παραθέστε το ιστορικό του έργου και αποφασίστε για το παλιότερο id id, εντολή:πηγαίνετε στο ιστορικό
σι. Δημιουργήστε έναν άλλο κλάδο από το αναγνωριστικό δέσμευσης:git checkout -b old-state e7aa9a5
ντο. Συνεχίστε να εργάζεστε στον κώδικα και αργότερα συγχωνεύστε / επαναφέρετε με τον κλάδο «master».

Ανακτήστε ένα διαγραμμένο τοπικό υποκατάστημα

Είναι δυνατή η αναγέννηση της χαμένης εργασίας σε έναν κλάδο αναφοράς. Ας πούμε, διέγραψα τον κλάδο 'old_code' χωρίς συγχώνευση με τον κύριο κλάδο και έχασα την εργασία. Και όχι, ούτε ώθησα τον κλάδο σε απομακρυσμένο αποθετήριο, τι γίνεται τότε; Λοιπόν, παρακολουθήστε ένα ημερολόγιο για όλες τις αλλαγές που γίνονται σε κάθε αναφορά, ας δούμε τη δική μου:πηγαίνετε στο reflog

Έτσι, το HEAD @ {2} είναι ο δείκτης όταν μετακόμισα στον κλάδο 'old_code', ας ανακτήσουμε ότι:

Σύνταξη:git ολοκλήρωση αγοράς -b
Εντολή:git checkout -b old_code HEAD @ {2}

Πρέπει να βρίσκεστε τώρα στον κλάδο «old_code» με την πιο πρόσφατη εργασία σας τη στιγμή της δημιουργίας του. Επιπλέον, ο δείκτης «reflog» στο HEAD @ {1} ήταν η πρόσφατη δέσμευση που έγινε στον κλάδο «old_code». Για να επαναφέρετε αυτό το μοναδικό δεσμεύστε απλώς εκτελέστε την εντολή ως:επαναφορά git - σκληρό HEAD @ {1}.Αυτό επαναφέρει επίσης τα τροποποιημένα αρχεία στον κατάλογο εργασίας.

Εάν θέλετε να μάθετε λεπτομερώς πώς λειτουργεί αυτή η εντολή και πώς μπορείτε να διαχειριστείτε τις καταχωρίσεις «reflog», μπορείτε επίσης να διαβάσετε την προηγούμενη ανάρτησή μου στοανάκτηση του διαγραμμένου κλάδου από το git reflog.

Αναίρεση αλλαγών που έγιναν σε μια δέσμευση

πηγαίνωεπαναστρέφωχρησιμοποιείται για την καταγραφή ορισμένων νέων δεσμεύσεων για την αντιστροφή του αποτελέσματος ορισμένων προηγούμενων δεσμεύσεων.
Σύνταξη: επαναφορά git
Από τα αρχεία καταγραφής δεσμεύσεων, θα ήθελα να αντιστρέψω την αλλαγή που έγινε στο επισημασμένο αναγνωριστικό δέσμευσης:

Εντολή: επαναφορά git 827bc0d

Είναι καλύτερο, να μην επαναφέρετε το «-hard» των κοινόχρηστων δεσμεύσεων, αλλά να το «git revert» για να διατηρήσετε το ιστορικό έτσι ώστε να είναι ευκολότερο για όλους να εντοπίσουν τα αρχεία καταγραφής ιστορικού για να μάθουν τι αντιστράφηκε, από ποιον και γιατί?

Μπορείτε να χρησιμοποιήσετε την ίδια λογική παραπομπής των δεσμεύσεων σχετικά με το δείκτη HEAD αντί να δώσετε το αναγνωριστικό δέσμευσης, όπως στο HEAD ~ 3 ή HEAD ~ 4 και ούτω καθεξής.

Έδωσε λάθος όνομα στο υποκατάστημα μου

Μπορείτε να μετονομάσετε ένα τοπικό όνομα υποκαταστήματος. Αυτό συμβαίνει πολλές φορές που μπορεί να θέλετε να μετονομάσετε το υποκατάστημα σας βάσει του ζητήματος στο οποίο εργάζεστε χωρίς να περάσετε από τον πόνο της μετεγκατάστασης όλης της εργασίας σας από τη μία τοποθεσία στην άλλη. Για παράδειγμα, θα μπορούσατε είτε να βρίσκεστε στον ίδιο κλάδο είτε σε διαφορετικό κλάδο και να μπορείτε να μετονομάσετε το επιθυμητό υποκατάστημα όπως φαίνεται παρακάτω:
Σύνταξη: git branch -m
Εντολή: git branch -m old_code old_ # 4920

Όπως ίσως αναρωτιέστε, το git παρακολουθεί αυτό το όνομα; Ναι, αναφέρεται στις καταχωρίσεις 'reflog', εδώ είναι η δική μου:

Η μετονομασία ενός κλάδου δεν θα επηρεάσει τον κλάδο απομακρυσμένης παρακολούθησης. Θα δούμε στην απομακρυσμένη ενότητα πώς να αντικαταστήσετε έναν κλάδο στο απομακρυσμένο αποθετήριο

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

Πώς εύχομαι να είχα κάνει κάποιες δεσμεύσεις νωρίτερα από άλλες και δεν θα έκανα καθόλου δεσμεύσεις. Διαλογικά αναδιατάξτε και επεξεργαστείτε τις παλιές δεσμεύσεις για αποτελεσματική διόρθωση ή βελτίωση του κώδικα
Σύνταξη: git rebase -i
Εντολή: git rebase -i fb0a90e- ξεκινήστε να επανατοποθετείτε τις δεσμεύσεις που έγιναν μετά το commit-id fb0a90e

Επίσκεψη ξανά στο git rebase τεκμηρίωση για να καταλάβετε πώς διαφέρει μια «αλληλεπιδραστική ή -i» αναδιατύπωση από μια κανονική αναδιατύπωση.

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

Σε αυτήν την περίπτωση, πρέπει να χωρίσετε μια παλιά θαμμένη δέσμευση σε πολλαπλές λογικές δεσμεύσεις.
Σύνταξη: git rebase -i
Εντολή: git rebase -i fb0a90e
Στον επεξεργαστή επαναφοράς, πρέπει να επιλέξετε id id e7aa9a5 και να το αλλάξετε σε «επεξεργασία» αντί για «επιλογή».

άσχετες αλλαγές - κοινά λάθη git -Edureka

Τώρα θα βρίσκεστε στην έκδοση του έργου comm id-e7aa9a5. Αρχικά, επαναφέρετε το ιστορικό δεσμεύσεων και την περιοχή σταδιοποίησης στην προηγούμενη εντολή comm-Command:git reset HEAD ~ 1
Δεύτερον, επεξεργαστείτε + στάδιο + δεσμεύστε τα αρχεία ξεχωριστά
Εντολές:
git add code && git commit -m 'Προσθήκη αρχικών κωδικών'
git add newcode && git commit -m 'Προσθήκη νέου κώδικα'

πώς να ρυθμίσετε την έκλειψη για το java

Τρίτον, συνεχίστε το rebase και τερματίστε.

Εντολή :git rebase - συνέχεια
Τέταρτον, δείτε το ιστορικό με επιπλέον δεσμεύσεις.

Εντολή: πηγαίνετε στο ιστορικό

διαχωρίζοντας τη δέσμευση σε πολλαπλές χρησιμοποιώντας rebase - κοινά λάθη git - Edureka

Αλλαγή email συγγραφέα σε όλες τις δεσμεύσεις σε όλους τους κλάδους

Έχω εκδώσει και εκδίδω τα αρχεία έργου μου στο git από πολύ καιρό τώρα, αλλά μέχρι τώρα δεν με εντυπωσίασε ποτέ ότι το αναγνωριστικό email μου είχε παραβιαστεί στα αρχεία καταγραφής ιστορικών δεσμεύσεων που δημοσιεύονται ακόμη και σε απομακρυσμένα αποθετήρια. Λοιπόν, αυτό μπορεί να συμβεί σε οποιονδήποτε όταν αρχικά ρυθμίσατε τις διαμορφώσεις στο αρχείο '.gitconfig'. Για την ανακούφιση μου μπορεί ξαναγράφω τις μεταβλητές περιβάλλοντος που παρέχουμε κατά τη δημιουργία ενός αντικειμένου δέσμευσης.

Πρώτα παίρνω τη λίστα αναγνωριστικά email να αποφασίσω αυτά που θέλω να αλλάξω:
Εντολή: git log --all --pretty = μορφή: '% an% d'–Αυτό εκτυπώνει το όνομα του συγγραφέα (μετονομασία / όνομα κλάδου)

Δεύτερον, περνάω κάθε δέσμευση σε κάθε κλάδο και ξαναγράψτε το αντικείμενο δέσμευσης με το νέο αναγνωριστικό email
Εντολή:
git φίλτρο-κλάδος --env-filter '
αν ['$ GIT_AUTHOR_NAME' = 'divya']
τότε
GIT_AUTHOR_EMAIL = 'divya@github.com'
είναι
' -- --όλα

Χάσατε και βρήκα αρχεία

Ας υποθέσουμε ότι έχετε χάσει ένα συγκεκριμένο αρχείο και δεν θυμάστε το όνομά του, αλλά θα μπορούσατε να ανακαλέσετε συγκεκριμένες λέξεις στο αρχείο. Σε αυτήν την περίπτωση, μπορείτε να ακολουθήσετε αυτά τα βήματα-
Βήμα 1: Καταγράψτε όλες τις δεσμεύσεις που περιείχαν ποτέ το στιγμιότυπο αρχείου με το μοτίβο αναζήτησης
Εντολή :git rev-list - όλα | xargs git grep -i 'χρονική σήμανση'



Βήμα 2 : Δημιουργήστε έναν νέο κλάδο 'lost-found' από αυτό το επισημασμένο δεσμευτικό αναγνωριστικό
Σύνταξη: git checkout -b lost-found d8c6a76a6dcb1fc6e8c3f6b097e1bd07e7cd328f

Ξέχασα ποιο υποκατάστημα έχει το αναγνωριστικό δέσμευσης μου

Μερικές φορές, αφού εντοπίσετε ένα αναγνωριστικό δέσμευσης με λάθη, ίσως θελήσετε επίσης να μάθετε όλα τα υποκαταστήματα που έχουν αυτήν τη δέσμευση σε αυτά, ώστε να μπορείτε να τα διορθώσετε όλα. Ο έλεγχος του ιστορικού κάθε υποκαταστήματος δεν είναι πολύ πρακτικός σε ένα μεγάλο έργο πολλαπλών κλάδων.

Μια κακή δέσμευση που έγινε στην εφαρμογή δημιουργίας πλοήγησης έσπασε τον κώδικα, όταν χρησιμοποίησα το Εντολή «git bisect» για να εντοπίσει το αναγνωριστικό δέσμευσης που ήταν κακό ακολουθούμενο από τοεντολή:git υποκατάστημα - περιέχειγια να απαριθμήσετε τους κλάδους με αυτό το κακό δέσμευση.

Έτσι, τώρα ξέρω όλους τους κλάδους που εξακολουθούν να έχουν την κακή δέσμευση, θα μπορούσα είτε να επαναφέρω είτε να επαναφέρω αυτό το σύνολο αλλαγών.

Διαγράψτε μια δέσμευση από το ιστορικό

Μερικές φορές νιώθω την ανάγκη να διαγράψω μια δέσμευση από την ιστορία και να μην αφήσω κανένα ίχνος. Δεν θα σας συνιστούσα να δοκιμάσετε αυτό το κόλπο σε ένα κοινόχρηστο υποκατάστημα αλλά μόνο στο τοπικό σας υποκατάστημα.
Σύνταξη: git rebase -i
Εντολή :git rebase -i 93859d8
Στον επεξεργαστή rebase-> αντικαταστήστε το «edit» με το «drop» για το επισημασμένο id id: 69f4813

Σε ορισμένες από τις περιπτώσεις, αυτή η επανεγγραφή μπορεί να οδηγήσει σε διενέξεις. Πρέπει να επιλύσετε διενέξεις και στη συνέχεια να προχωρήσετε περαιτέρω.

Προειδοποίηση : Αυτή είναι μια επικίνδυνη εντολή καθώς αυτό ξαναγράφει το ιστορικό και μπορεί να χάσει δεδομένα. Ένας τέτοιος κλάδος διαφέρει από τον απομακρυσμένο ομόλογό του και θα πρέπει να ωθηθεί με το--δύναμηή--force-with-leaseεπιλογή.

Σπρώχτηκε ένα λάθος κλαδί στο τηλεχειριστήριο

Τώρα, εδώ είναι αυτό που θέλω να κάνω - Θέλω να διαγράψω ένα απομακρυσμένο υποκατάστημα και επίσης να σταματήσω να το παρακολουθώ από το τοπικό μου κατάστημα. »σκατά«Εντολή όταν χρησιμοποιείται με το--διαγράφωΗ επιλογή διαγράφει τον απομακρυσμένο κλάδο. Έτσι, έτσι παίρνω το τοπικό αντίγραφο του κλωνοποιημένου έργου -

git clone https://github.com/greets/myProj.git
cd myProj


Μόλις διαγραφεί ο απομακρυσμένος κλάδος, οι άλλοι στο κοινόχρηστο repo πρέπει να ανανεώσουν και να ενημερώσουν τις απομακρυσμένες αναφορές τους με το--κλαδεύωεπιλογή διαγραφής των αναφορών αντικειμένων που λείπουν:git fetch - prune -v προέλευση

Σε αυτήν την ανάρτηση, ανέφερα μερικά από τα κοινά λάθη ή αλλαγές που μπορεί να σας βοηθήσει να διορθώσετε το git. Κάθε κώδικας είναι μοναδικός και αναπτύσσεται με τον τρόπο του, οπότε υπάρχουν επίσης διαφορετικοί τρόποι προσέγγισης και επίλυσης ενός προβλήματος. Θα μπορούσατε πάντα να αναφερθείτε στον επίσημο τεκμηρίωση git για να κατανοήσετε πώς διάφορες εντολές git προστατεύουν τον πηγαίο κώδικα και πώς να χρησιμοποιείτε τις εντολές με τον καλύτερο δυνατό τρόπο.

Τώρα που έχετε κατανοήσει τα συνηθισμένα λάθη του Git, ρίξτε μια ματιά σε αυτό από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το μάθημα Εκπαίδευσης Πιστοποίησης Edureka DevOps βοηθά τους μαθητές να κατανοήσουν τι είναι DevOps και να αποκτήσουν εμπειρία σε διάφορες διαδικασίες και εργαλεία DevOps, όπως Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack και GIT για την αυτοματοποίηση πολλαπλών βημάτων στο SDLC.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του «κοινού Git λάθη» και θα επικοινωνήσουμε μαζί σας