Έχω 2 καταλόγους στο αποθετήριο GitHub. Θα ήθελα να διαγράψω έναν από αυτούς. Πώς θα μπορούσα να το κάνω αυτό χωρίς να διαγράψω και να δημιουργήσω ξανά ολόκληρο το αποθετήριο;
Θα μπορούσατε να κάνετε checkout το 'master' και με τους δύο καταλόγους,
git rm -r one-of-the-directories
git commit -m "Remove duplicated directory"
git push origin <your-git-branch> (typically 'master', but not always)
Όπως αναφέρθηκε στα σχόλια, αυτό που συνήθως θέλετε να κάνετε είναι να αφαιρέσετε αυτόν τον κατάλογο από το git αλλά όχι να τον διαγράψετε εντελώς από το σύστημα αρχείων (local)
Σε αυτή την περίπτωση χρησιμοποιήστε:
git rm -r --cached myFolder
Αν, για κάποιο λόγο, αυτό που είπε ο karmakaze δεν λειτουργεί, μπορείτε να δοκιμάσετε να διαγράψετε τον κατάλογο που θέλετε χρησιμοποιώντας ή με το πρόγραμμα περιήγησης στο σύστημα αρχείων (π.χ. στην Εξερεύνηση αρχείων των Windows). Αφού διαγράψετε τον κατάλογο, εκδίδοντας την εντολή: <br>,
git add -A
<br>,
και στη συνέχεια <br>,
git commit -m 'διαγραφή καταλόγου'
<br>,
και στη συνέχεια <br>,
git push origin master
.
Αν αφαιρέσετε τα αρχεία του καταλόγου (με το git rm
όπως εξηγούν οι άλλες απαντήσεις), τότε ο κατάλογος δεν υπάρχει πλέον όσον αφορά το git. Δεν μπορείτε να δεσμεύσετε έναν άδειο κατάλογο, ούτε μπορείτε να τον αφαιρέσετε.
Αυτό είναι σε αντίθεση με το subversion όπου πρέπει να κάνετε ρητά svn rm emptyfolder/
, και είναι παρεμπιπτόντως ο λόγος για τον οποίο η σελίδα man
για το git περιγράφει τον εαυτό της ως "the stupid content tracker",
Μια απάντηση στο "Πώς μπορώ να προσθέσω έναν κενό κατάλογο σε ένα αποθετήριο git" παραπέμπει στις Συχνές ερωτήσεις για το θέμα αυτό:
Επί του παρόντος, ο σχεδιασμός του ευρετηρίου git (περιοχή σταδιοποίησης) επιτρέπει μόνο τα αρχεία να να καταχωρηθούν, και κανένας αρκετά ικανός να κάνει την αλλαγή για να επιτρέψει τα κενά καταλόγους έχει ενδιαφερθεί αρκετά για αυτή την κατάσταση για να την διορθώσει. >, Οι κατάλογοι προστίθενται αυτόματα όταν προστίθενται αρχεία στο εσωτερικό τους. Αυτό είναι, οι κατάλογοι δεν χρειάζεται ποτέ να προστεθούν στο αποθετήριο και δεν παρακολουθούνται. από μόνοι τους. >, Μπορείτε να πείτε "
git add <dir>
" και αυτό θα προσθέσει τα αρχεία εκεί. >, Αν χρειάζεστε πραγματικά έναν κατάλογο για να να υπάρχει στα ταμεία θα πρέπει να δημιουργήσετε ένα Το .gitignore λειτουργεί καλά για Μπορείτε να το αφήσετε κενό, ή να συμπληρώσετε τα ονόματα των αρχείων που περιμένετε να εμφανιστούν στον κατάλογο.