Kaip pašalinti katalogą iš git saugyklos?

GitHub saugykloje turiu 2 katalogus. Norėčiau pašalinti vieną iš jų. Kaip tai padaryti, neištrinant ir nesukuriant visos saugyklos?

987
11 июня '11 в 2:54 2011-06-11 02:54 Sahat Yalkabov yra nustatytas birželio 11 d. 11 val. 2:54 2011-06-11 02:54
@ 14 atsakymų

Pašalinkite katalogą iš git ir local

„Master“ galite patikrinti abiem katalogais;

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

Pašalinkite katalogą iš git, bet ne vietinio

Kaip minėta komentaruose, paprastai norite pašalinti šį katalogą iš git, bet ne visiškai pašalinti jį iš (vietinės) failų sistemos

Tokiu atveju naudokite:

 git rm -r --cached myFolder 
1913 m
11 июня '11 в 3:37 2011-06-11 03:37 atsakymas pateikiamas karmakaze birželio 11 d. 11 val. 03:37 2011-06-11 03:37

Jei norite pašalinti aplanką / katalogą tik iš git saugyklos, o ne iš vietinės, pabandykite 3 paprastas komandas.


Katalogo pašalinimo veiksmai

 git rm -r --cached FolderName git commit -m "Removed folder from repository" git push origin master 

Veiksmai, kuriais nepaisoma šio aplanko šiose komandose.

border=0

Jei norite ignoruoti šį aplanką iš šių įvykių , sukurkite vieną failą šakniniame kataloge .gitignore ir įklijuokite šį aplanko pavadinimą į jį. Galite apgyvendinti tiek, kiek norite.

.Gitignore failas atrodys taip.

 /FolderName 

2019

235
03 дек. atsakymas duotas eirenaios 03 dec. 2014-12-03 15:34 '14 at 15:34 2014-12-03 15:34

Jei dėl kokių nors priežasčių karmakaze sako, kad neveikia, galite pabandyti ištrinti katalogą, kurį norite ištrinti (per failų sistemos naršyklę), išduodant komandą
git add -A
ir tada git commit -m 'deleting directory'
ir tada git push origin master .

65
11 июня '11 в 5:14 2011-06-11 05:14 atsakymą pateikė cmcculloh birželio 11 d., 11 val

Galite pabandyti: git rm -rf <directory_name>

Tai ištrins katalogą.

20
23 окт. atsakymas į Breen ho 23 d 2013-10-23 13:21 „13“ 13:21 val. 2013-10-23 13:21

Jei ištrinate failus į katalogą (su git rm , kaip paaiškina kiti atsakymai), katalogas nebėra prieš git. Negalite perkelti tuščio katalogo ir negalite jo ištrinti.

Tai nėra tarsi subversion, kur jūs turite aiškiai svn rm emptyfolder/ , ir, beje, kodėl git man puslapis apibūdina save kaip „kvailo turinio sekiklį“

Atsakymas į klausimą „ Kaip į tuščią katalogą įtraukti į„ Git “saugyklą į klausimus ir atsakymus šiuo klausimu :

Šiuo metu „git“ indekso dizainas (sustojimo zona) leidžia tik įrašyti failus, ir niekas nėra pakankamai kompetentingas, kad pakeitimai būtų tušti tuose kataloguose, kad ši situacija būtų ištaisyta.

Katalogai pridedami automatiškai, kai prie jų pridedami failai. Tai, kad katalogai niekada neturėtų būti įtraukti į saugyklą ir nėra stebimi atskirai.

Galima sakyti, kad „ git add <dir> “ ir bus pridėta failų.

Jei tikrai reikia katalogo, skirtą pareiškimams, turite sukurti failą. .gitignore gerai dirba šiam tikslui; galite palikti jį tuščią arba įveskite failų, kuriuos tikitės, kad jie būtų rodomi kataloge, pavadinimus.

16
06 авг. atsakymas pateikiamas dbr 06 rug . 2013-08-06 12:01 '13, 12:01 PM 2013-08-06 12:01

Eikite į git katalogą, tada įveskite šią komandą: rm -rf <Reference Name>

Ištrinus katalogą, atlikite pakeitimus: git įsipareigoti -m „Jūsų reikalingas pranešimas“

Tada tiesiog spustelėkite nuotolinio „git“ katalogo pakeitimus: git push origin <Branch Name>

6
13 июля '16 в 14:53 2016-07-13 14:53 atsakymas pateikiamas nuoširdžiai liepos 13 d., 16 val. 14:53 2016-07-13 14:53

Paprastai naudoju git add --all norite pašalinti failus / aplankus iš nuotolinių saugyklų.

 rm -r folder_name git add --all git commit -m "some comment" git push origin master 

master gali pakeisti bet kuris kitas saugyklos filialas.

4
05 сент. Atsakymas pateikiamas Ettanany 05 Sep. 2016-09-05 18:41 '16 at 18:41 pm 2016-09-05 18:41

Galite ištrinti aplanką vietoje ir tada spustelėkite, kaip parodyta toliau:

 git rm -r folder_name git commit -m "your commit" git push origin master 
3
26 февр. atsakymas suteiktas 26 vasario mėn. 2016-02-26 21:59 '16 at 21:59 pm 2016-02-26 21:59

Galite naudoti „Attlasian Source Tree“ („Windows“) ( https://www.atlassian.com/software/sourcetree/overview ). Tiesiog pasirinkite medžio failus ir viršuje spustelėkite „Ištrinti“. Failai bus ištrinti iš vietos saugyklos ir vietinės git duomenų bazės. Tada įsipareigokite, tada spustelėkite.

2
01 сент. atsakymą pateikė Sergejus Groshevas apie 01 sep . 2015-09-01 21:04 '15 , 21:04 2015-09-01 21:04

Vienas iš mano kolegų pasiūlė BFG Repo-Cleaner , kuris, mano manymu, yra galingas. Tai ne tik pašalina nepageidaujamus duomenis, bet ir pašalina saugyklą nuo bet kokios susijusios informacijos apie įvykdymą.

1
16 нояб. atsakymas pateikiamas thanh.h.le lapkričio 16 d 2016-11-16 17:28 '16 at 17:28 pm 2016-11-16 17:28

Pirma, „Git“ komanda turi žinoti, kas esate prieš ištrindami.

  • git init
  • „git config user.name“ „kažkas“
  • git config user.email "someone@someplace.com"
  • git rm -r
  • git įsipareigoti -m "pašalinti dir"
  • git stumti kilmės meistras
1
07 июля '17 в 0:27 2017-07-07 00:27 atsakymas pateikiamas Zeusui liepos 07 d. 17, 0:27 2017-07-07 00:27

ištrinti tuščius aplankus

Aš norėjau ištrinti tuščią katalogą (aplanką), kurį sukūriau, git negali jo ištrinti, po kai kurių tyrimų aš sužinojau, kad „Git“ nekalba tuščių katalogų. Jei darbo medyje turite tuščią katalogą, tiesiog jį ištrinkite naudodami

 rm -r folderName 

Nereikia įtraukti gito.

1
19 дек. Atsakymas pateikiamas Rida 19 d. 2018-12-19 04:59 '18, 4:59 2018-12-19 04:59

Jei norite pridėti naują katalogą:

 mkdir <YOUR-DIRECTORY> 

Bet dabar Git nežino apie šį naują katalogą, nes „Git“ seka failus, o ne katalogus DIRECTORY

 git status 

„Git“ nežino apie atliktą pakeitimą, todėl pridėsime paslėptą .keep failą, kad „Git“ .keep apie šį naują pakeitimą.

 touch /YOUR-directory/.keep 

Dabar, jei spustelėsite „Git“ git status Git“ sužinos apie pakeitimus.

Ir jei norite ištrinti katalogą, turite naudoti šią komandą.

 rm -r <YOUR-DIRECTORY> 

Ir jei pažymėjote naudodami „ git status , pamatysite, kad katalogas buvo ištrintas.

1
22 окт. atsakymą pateikė Abo3atef spalio 22 d. 2017-10-22 18:22 '17, 18:22 pm 2017-10-22 18:22

Vietiniame atpirkime tiesiog ištrinkite katalogą.

 rm -rf directory_name 

dabar spustelėkite pakeitimą:

 git add . git commit -m "Delete a repository" git push 
0
03 дек. atsakymas duotas 03 dec. 2017-12-03 09:25 '17 at 9:25 2017-12-03 09:25

Kiti klausimai apie žymes arba Užduoti klausimą