Πώς να αφαιρέσετε έναν κατάλογο από το αποθετήριο git;

Έχω 2 καταλόγους στο αποθετήριο GitHub. Θα ήθελα να διαγράψω έναν από αυτούς. Πώς θα μπορούσα να το κάνω αυτό χωρίς να διαγράψω και να δημιουργήσω ξανά ολόκληρο το αποθετήριο;

Λύση

Αφαίρεση καταλόγου από το git και το local

Θα μπορούσατε να κάνετε checkout το 'master' και με τους δύο καταλόγους,

git rm -r one-of-the-directories
git commit -m "Remove duplicated directory"
git push origin  (typically 'master', but not always)

Αφαίρεση καταλόγου από το git αλλά ΟΧΙ τοπικά

Όπως αναφέρθηκε στα σχόλια, αυτό που συνήθως θέλετε να κάνετε είναι να αφαιρέσετε αυτόν τον κατάλογο από το git αλλά όχι να τον διαγράψετε εντελώς από το σύστημα αρχείων (local)

Σε αυτή την περίπτωση χρησιμοποιήστε:

git rm -r --cached myFolder
Σχόλια (16)

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

Σχόλια (2)

Αν αφαιρέσετε τα αρχεία του καταλόγου (με το git rm όπως εξηγούν οι άλλες απαντήσεις), τότε ο κατάλογος δεν υπάρχει πλέον όσον αφορά το git. Δεν μπορείτε να δεσμεύσετε έναν άδειο κατάλογο, ούτε μπορείτε να τον αφαιρέσετε.

Αυτό είναι σε αντίθεση με το subversion όπου πρέπει να κάνετε ρητά svn rm emptyfolder/, και είναι παρεμπιπτόντως ο λόγος για τον οποίο η σελίδα man για το git περιγράφει τον εαυτό της ως "the stupid content tracker&quot,

Μια απάντηση στο "Πώς μπορώ να προσθέσω έναν κενό κατάλογο σε ένα αποθετήριο git" παραπέμπει στις Συχνές ερωτήσεις για το θέμα αυτό:

Επί του παρόντος, ο σχεδιασμός του ευρετηρίου git (περιοχή σταδιοποίησης) επιτρέπει μόνο τα αρχεία να να καταχωρηθούν, και κανένας αρκετά ικανός να κάνει την αλλαγή για να επιτρέψει τα κενά καταλόγους έχει ενδιαφερθεί αρκετά για αυτή την κατάσταση για να την διορθώσει. &gt, Οι κατάλογοι προστίθενται αυτόματα όταν προστίθενται αρχεία στο εσωτερικό τους. Αυτό είναι, οι κατάλογοι δεν χρειάζεται ποτέ να προστεθούν στο αποθετήριο και δεν παρακολουθούνται. από μόνοι τους. &gt, Μπορείτε να πείτε "git add" και αυτό θα προσθέσει τα αρχεία εκεί. &gt, Αν χρειάζεστε πραγματικά έναν κατάλογο για να να υπάρχει στα ταμεία θα πρέπει να δημιουργήσετε ένα Το .gitignore λειτουργεί καλά για Μπορείτε να το αφήσετε κενό, ή να συμπληρώσετε τα ονόματα των αρχείων που περιμένετε να εμφανιστούν στον κατάλογο.

Σχόλια (0)