Wat is de map met de naam .git
?
Het is gemaakt in een repository. Wat zit erin en waarom is het gemaakt?
Antwoord 1, autoriteit 100%
De .git
map bevat alle informatie die nodig is voor je project in versiebeheer en alle informatie over commits, remote repository adres, etc. Ze zijn allemaal aanwezig in deze map. Het bevat ook een log waarin je commit-geschiedenis wordt opgeslagen, zodat je terug kunt gaan naar de geschiedenis.
Voor meer informatie kun je de officiële website van gitbekijken.
Antwoord 2, autoriteit 89%
.git wordt geïnitialiseerd door git init
.
.git bevat alle informatie die nodig is voor versiebeheer. Als je je repo wilt klonen, is kopiëren van .git voldoende.
4 submappen:
- hooks/ : voorbeeldscripts
- info/ :
exclude
bestand voor genegeerde patronen - objecten/ : alle “objecten”
- refs/ : verwijzingen om objecten vast te leggen
4 bestanden:
- HEAD : huidige tak
- config: configuratie-opties
- beschrijving
- index: verzamelgebied
Hier omvat “object”:
- blobs(bestanden)
- trees(directories)
- commits(verwijzing naar een boom, parent commit, etc)
Antwoord 3, autoriteit 22%
Deze uitleg zou beginners moeten helpen de map .git
te begrijpen.
De map .git
lijkt een beetje op een magische hoed waarin je je huidige goochelshow stopt.
Als je een nieuwe git-repository aanmaakt (git init
), wordt alles wat je organiseert in een showformaat in deze magische hoed geplaatst en kan het worden ‘uitgetrokken’ wanneer en waar je maar wilt.
Nadat je alles eruit hebt gehaald, kun je alles weggooien als je klaar bent met de show (dwz al je bestanden behalve de map .git
), en je kunt altijd precies dezelfde show terughalen op een latere datum. (Omdat elke nieuwe show gewoon een kloon is van wat er in de hoed zit).
Als je iemand ALLEEN de map .git
stuurt, kunnen ze je projectbestanden altijd in dezelfde structuur (toon formaat) ophalen als waarin je ze hebt geplaatst.
git add
vertelt de map .git
wat eruit gehaald kan worden, b.v. een konijn dat een smoking draagt en een wandelstok vasthoudt (of een enkel bestand of een hele menubalk op je website).
git rm
vertelt de map .git
om te stoppen met toestaan dat er iets uit de hoed wordt gehaald, b.v. stel je voor dat je niet langer wilde dat het konijn deel uitmaakte van je goochelshow. (Belangrijk om op te merken dat je nog steeds een eerdere versie van je show kunt herstellen, waarin het konijn zou zijn opgenomen (je 1999-versie van je blog met Comic Sans), als je dat echt zou willen, maar je huidige show zou het konijn niet bevatten als je gebruikte git rm
).
Antwoord 4, autoriteit 11%
Dit is het “ding” dat van uw project een “git”-repository maakt.
De map .git
is de map die wordt aangemaakt als je git init
doet (in het geval van een nieuw project) of als je git clone
doet ( in het geval van een project ergens anders vandaan halen). Zonder .git
is je project een lokaal project en geen git-project, wat betekent dat je geen git-bewerkingen kunt uitvoeren.
git slaat de metadata en objectdatabase voor het project op in deze map zoals:
- Externe informatie (met welke externe server uw project is verbonden)
- Geschiedenis van alle lokale commits
- Vertakkingsinformatie (naar welke vertakking verwijst uw huidige projectstatus (HEAD))
- Alle logs van alle lokale commits die je ooit hebt gemaakt (inclusief wijzigingen terugzetten)
Raadpleeg de officiële documentatie van git om meer te weten:
https://git-scm.com/ book/nl/v1/Git-Basics-Getting-a-Git-Repository
Antwoord 5, autoriteit 4%
Kortom, het betekent dat je dir wordt afgehandeld door Git (Git-repository). Als je het ergens anders naartoe verplaatst (of verwijdert), krijg je zoiets te zien als:
fataal: geen git-repository (of een van de bovenliggende mappen): .git
elke keer dat je daar het ‘git *’ commando gebruikt.
Je kunt de .gitdirectory ergens anders verplaatsen met:
git –git-dir=/myproject_path/myproject.git log –oneline
Of:
GIT_DIR=/myproject_path/myproject.git exporteren
Maar ik raad het niet aan om het te doen.
Let op dat het maar 1 map is, in tegenstelling tot SVN.
Het bevat alle relevante informatie voor GIT om je code te verwerken, zoals de positie van de HEAD, hooks om toe te passen voor/na commit/push en enkele andere bestanden.
Misschien het meest “beroemde” bestand binnenin is het configbestand dat al je branchesinfo bevat.
Beveel aan om hiermeer info.
Antwoord 6
wat staat er in je .git
directory
Als je nieuwsgierig was — „ —, kan deze bron je misschien helpen
http://gitready.com /advanced/2009/03/23/whats-inside-your-git-directory.html
De basisstructuur ziet er als volgt uit:
. |-- COMMIT_EDITMSG |-- FETCH_HEAD |-- HEAD |-- ORIG_HEAD |-- branches |-- config |-- description |-- hooks | |-- applypatch-msg | |-- commit-msg | |-- post-commit
…
gaat verder op de site