Pašalinkite aplanką iš „git tracking“

Turiu pašalinti stebėjimo aplanką (pakrovimo pavadinimus). Bandžiau paleisti

 git rm -r --cached wordpress/wp-content/uploads 

ir po to pridėjau kelią į .gitignore

 /wordpress/wp-content/uploads 

bet kai paleisite „ git status jie rodomi kaip ištrinti. Jei bandau padaryti pakeitimus, failai bus ištrinti, neištrinami iš stebėjimo.

Ką daryti neteisingai?

Aš taip pat bandžiau

 git update-index --assume-unchanged <file> 

tačiau neatrodo, kad jis tikrintų tik failus. Bet turiu pašalinti visą aplanką (įskaitant poaplankius) nuo stebėjimo.

238
18 июня '14 в 19:10 2014-06-18 19:10 Stefanas yra birželio 18 d. 14 val. 19:10 2014-06-18 19:10
@ 6 atsakymai

Aš susidūriau su šia problema, o „googling“ - „git pašalinti aplanką nuo stebėjimo“. Klausimas OP paskatino mane atsakyti. Čia apibendrinu tai ateities kartoms.

Klausimas

Kaip ištrinti aplanką iš mano „Git“ saugyklos, neištrindamas jo iš vietinio kompiuterio (t. Y. Kūrimo aplinkos)?

Atsakymas

1 veiksmas. Pridėti repo .gitignore failo aplanko kelią.

 path_to_your_folder/ 

2 žingsnis. Ištrinkite aplanką iš vietinio git stebėjimo, bet išsaugokite jį į diską.

 git rm -r --cached path_to_your_folder/ 

3. Įklijuokite pakeitimus į git saugyklą.

Aplankas bus laikomas „pašalintu“ git požiūriu (t. Y. Jis yra praeities istorijoje, bet ne paskutiniame įvykyje, o žmonės, ištraukiantys iš šio repo, gaus iš medžių ištrintus failus), tačiau lieka jūsų darbo kataloge nes naudojote „ --cached .

538
21 мая '15 в 0:46 2015-05-21 00:46 atsakymas pateikiamas Tod Birdsall gegužės 21 d., 15 val. 0:46 2015-05-21 00:46

Jis veikia man:

 git rm -r --cached --ignore-unmatch folder_name 
border=0

--ignore-unmatch yra svarbus čia, be šios parinkties, git išeis pirmojoje rinkmenoje, kurioje nėra indekso.

12
18 авг. atsakymas pateikiamas 18 d. 2017-08-18 14:57 '17 at 14:57 2017-08-18 14:57

Jei norite pamiršti katalogą, rekursyviai pridėkite *

Naudojant git rm --cached nėra tinkamas bendradarbiavimui. Skaitykite daugiau čia: Kaip sustabdyti stebėjimą ir ignoruoti „Git“ failo pakeitimus?

5
03 окт. atsakymas pateikiamas vitalets 03 oct. 2017-10-03 18:44 '17 at 18:44 2017-10-03 18:44

Git dokumentacijoje:

Kitas naudingas dalykas, kurį galbūt norėsite padaryti, yra išsaugoti failą į darbo medį, bet pašalinti jį iš tarpinės srities. Kitaip tariant, galite išsaugoti failą į standųjį diską, bet nebegali jo sekti. Tai ypač naudinga, jei pamiršote pridėti ką nors į .gitignore failą ir netyčia įdėjote, pvz., Didelį žurnalo failą arba kompiliuojamų failų krūva. Jei norite tai padaryti, naudokite parinktį - cached:

 $ git rm --cached readme.txt 

Taigi galbūt neįeisite „-r“?

3
18 июня '14 в 19:23 2014-06-18 19:23 atsakymą pateikė vartotojo3750325 birželio 18 d. 14:23 2014-06-18 19:23

2.5 veiksmas: atlikite pakeitimus:

 >git commit 

Jei pirmiausia stumsite, tai nieko nedaro!

1
04 сент. Atsakymas pateikiamas MH 04 sep. 2018-09-04 21:03 '18 at 21:03 2018-09-04 21:03

Žinau, kad tai yra senas filialas, bet tik norėjau šiek tiek pridėti, nes pažymėtas sprendimas man neišsprendė problemos (nors ir bandžiau daug kartų).

Vienintelis būdas sustabdyti aplanko stebėjimą „git“ formoje yra toks:

  1. Atsarginę vietos aplanką ir įdėkite į saugią vietą.
  2. Pašalinkite aplanką iš vietos repo
  3. Įsitikinkite, kad talpykla yra išvalyta git rm -r --cached your_folder/
  4. Pridėti your_folder/ .gitignore
  5. Padarykite pakeitimus
  6. Pridėti atsarginę kopiją saugykloje

Dabar turėtumėte pamatyti, kad aplankas nebebus stebimas.

Nesakykite manęs, kodėl tiesiog išvalyti talpyklą man neveikia, aš nesu „Git super-master“, bet taip išsprendžiau problemą.

0
01 февр. Atsakymą pateikė lukehillonline 01 vasaris. 2019-02-01 17:07 '19 at 17:07 pm 2019-02-01 17:07

Kiti klausimai apie „ žymes arba Užduoti klausimą