Jak usunąć katalog z repozytorium git?
Mam 2 katalogi w repozytorium GitHub. Chciałbym usunąć jedną z nich. Jak mogę to zrobić bez usuwania i ponownego tworzenia całego repozytorium?
12 answers
Usuń katalog z git i local
Można sprawdzić 'master' z obu katalogów;
git rm -r one-of-the-directories
git commit -m "Remove duplicated directory"
git push origin <your-git-branch> (typically 'master', but not always)
Usuń katalog z git, ale nie lokalny
Jak wspomniano w komentarzach, Zwykle chcesz usunąć ten katalog z Gita, ale nie usunąć go całkowicie z systemu plików (lokalnego)
W takim przypadku użyj:
git rm -r --cached myFolder
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-19 19:23:35
Aby usunąć folder / Katalog tylko z repozytorium git, a nie z lokalnego wypróbuj 3 proste polecenia.
Kroki usuwania katalogu
git rm -r --cached FolderName
git commit -m "Removed folder from repository"
git push origin master
Kroki, aby zignorować ten folder w następnym zatwierdzeniu
Aby zignorować ten folder z kolejnych commitów, należy utworzyć jeden plik w katalogu głównym o nazwie .gitignore i włóż do niego nazwę folderów. Możesz umieścić tyle, ile chcesz
.plik gitignore będzie wyglądał następująco to
/FolderName
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-03 12:03:28
Jeśli z jakiegoś powodu to, co powiedział karmakaze nie działa, możesz spróbować usunąć katalog, który chcesz usunąć (za pomocą przeglądarki systemu plików), wydając polecenie git add -A
i wtedy git commit -m 'deleting directory'
i wtedy git push origin master
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-06 08:30:42
Możesz spróbować tego:
git rm -rf <directory_name>
Wymusi usunięcie katalogu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-23 10:21:33
Jeśli usuniesz pliki z katalogu (z git rm
, jak wyjaśniają Pozostałe odpowiedzi), wtedy katalog nie istnieje w git. Nie można zatwierdzić pustego katalogu ani go usunąć.
Jest to w przeciwieństwie do subversion, gdzie musisz jawnie svn rm emptyfolder/
, i jest nawiasem mówiąc, dlaczego strona man
dla Gita opisuje się jako "głupi content tracker"
Odpowiedź na "Jak dodać pusty katalog do repozytorium git" linki do FAQ na ten temat :
Obecnie projekt indeksu git (miejsce postoju) zezwala tylko na być na liście, a nikt wystarczająco kompetentny aby dokonać zmiany zezwalającej na puste katalogów dbał wystarczająco o ta sytuacja, aby to naprawić.
Katalogi są dodawane automatycznie podczas dodawania plików wewnątrz nich. Że jest, katalogi nigdy nie muszą być dodawane do repozytorium i nie są śledzone sami.
Możesz powiedzieć "
git add <dir>
" i to doda tam pliki.Jeśli naprawdę potrzebujesz katalogu do istnieje w kasach należy utworzyć / align = "left" / .gitignore działa dobrze dla tego celu; można pozostawić puste, lub wpisz nazwy plików, które spodziewaj się, że pojawi się w katalogu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:35
Przejdź do katalogu git i wpisz następujące polecenie: rm-rf Nazwa katalogu>
Po usunięciu katalogu zatwierdź zmiany przez: git commit-m "Twoja wiadomość o zatwierdzeniu"
Następnie po prostu wciśnij zmiany w zdalnym katalogu GIT: git push origin Nazwa gałęzi>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-13 11:53:31
Zwykle używam git add --all
do usuwania plików / folderów ze zdalnych repozytoriów
rm -r folder_name
git add --all
git commit -m "some comment"
git push origin master
master
może być zastąpiony przez dowolną inną gałąź repozytorium.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-05 15:41:41
Możesz usunąć folder lokalnie, a następnie wcisnąć, jak następuje:
git rm -r folder_name
git commit -m "your commit"
git push origin master
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-26 18:59:11
Możesz użyć Attlasian Source Tree (Windows) (https://www.atlassian.com/software/sourcetree/overview ). Wystarczy wybrać pliki z drzewa i nacisnąć przycisk "Usuń" u góry. Pliki zostaną usunięte z lokalnego repozytorium i lokalnej bazy danych git. Następnie Commit, a następnie push.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-01 18:04:22
Jeden z moich kolegów zasugerował BFG Repo-Cleaner który moim zdaniem jest mocny. Jest to nie tylko usuwanie niechcianych danych, ale także czyszczenie repozytorium z powiązanych informacji o zatwierdzeniu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-16 14:28:00
Pierwsze polecenie git musi wiedzieć kim jesteś przed usunięciem czegokolwiek
- git init
- Git config user.name "someone"
- Git Config user.e-mail "[email protected]"
- git rm-R
- git commit-m "usuwanie katalogu"
- git push origin master
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-06 21:27:33
Aby dodać nowy katalog:
mkdir <YOUR-DIRECTORY>
Ale teraz Git nie jest świadomy tego nowego katalogu, ponieważ Git przechowuje ślady plików, a nie katalogów Katalog
git status
Git nie będzie świadomy zmian, które wprowadziliśmy, więc dodajemy ukryty plik .keep
, aby uświadomić Git o nowej zmianie.
touch /YOUR-directory/.keep
Teraz, jeśli wciśniesz git status
Git będzie wiedział o zmianach.
I jeśli chcesz usunąć katalog, powinieneś użyć tego polecenia.
rm -r <YOUR-DIRECTORY>
I jeśli sprawdziłeś używając git status
, zobacz Katalog został usunięty.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-27 03:37:06