Megosztás a következőn keresztül:


Fájlmódosítások figyelmen kívül hagyása a Gittel

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

A projektben nem minden fájlnak kell nyomon követnie a Gitet. A jellemzően követésre nem szoruló fájlok közé tartoznak például a fejlesztési környezetből származó ideiglenes fájlok, a tesztkimenetek és a naplók.

Több mechanizmust használhat arra, hogy tájékoztassa a Gitet arról, mely fájlokat ne kövesse nyomon projektjében, és hogyan akadályozhatja meg, hogy a Git jelentse ezeknek a fájloknak a módosításait. Olyan fájlok esetében, amelyeket a Git nem követ nyomon, használhat .gitignore vagy exclude fájlt. A Git által már nyomon követett fájlok esetében utasíthatja a Gitet, hogy hagyja abba a nyomon követésüket, és hagyja figyelmen kívül a módosításokat.

Előfeltételek

Kategória Követelmények
Projekt hozzáférés A projekttagja.
Jogosultságok - Kód megtekintése magánprojektekben: Legalább Alapszintű hozzáférés.
- Privát projektekben lévő kód klónozása vagy közreműködése: A Közreműködők biztonsági csoport tagja vagy a projekt megfelelő engedélyei.
- Ág vagy adattár engedélyeinek beállítása: Engedélyek kezelése az ágra vagy adattárra engedélyek.
– Alapértelmezett ág módosítása: Szabályzatok szerkesztése adattár engedélyeinek módosítása.
- Tároló importálása: A Projekt Adminisztrátorok biztonsági csoport tagja vagy a Git projektszintű Tároló létrehozása engedély beállítása engedély megadása. További információ: Git-adattárengedélyek beállítása.
Szolgáltatások Repók engedélyezve.
Eszközök Opcionális. Használja a(z) az repos parancsokat: Azure DevOps CLI.

Megjegyzés

Nyilvános projektekben a érintett hozzáféréssel rendelkező felhasználók teljes hozzáféréssel rendelkeznek az Azure Repos-hoz, beleértve a megtekintést, a klónozást és a kódhoz való hozzájárulást.

Kategória Követelmények
Projekt hozzáférés A projekttagja.
Jogosultságok - Kód megtekintése: Legalább alap szintű hozzáférés.
- Klónozás vagy közreműködés a kódban: A Közreműködők biztonsági csoport tagja vagy a projekt megfelelő engedélyei.
Szolgáltatások Repók engedélyezve.

.gitignore-fájl használata

Ha egy .gitignore fájlt ad hozzá és konfigurál, a Git nem követ nyomon bizonyos fájlokat a projektben. Tekintse át a következő főbb pontokat:

  • Nem követett fájlok: A .gitignore fájl bejegyzései csak a nem követett fájlokra vonatkoznak. Nem akadályozzák meg, hogy a Git a követett fájlok módosításait jelentse. A nyomon követett fájlok az utolsó Git-pillanatképben véglegesített és létező fájlok.
  • Fájlkeresési minták: Egy .gitignore fájl minden sora a .gitignore fájl elérési úthoz viszonyított fájlkeresési mintát ad meg. A .gitignore szintaxis rugalmas, és támogatja a helyettesítő karakterek használatát az egyéni vagy több fájl név, bővítmény és elérési út szerinti megadásához. A Git a projekt fájljait a .gitignore keresési mintákkal összehasonlítja, hogy meghatározza, mely fájlokat hagyja figyelmen kívül.
  • Hely: Általában egy .gitignore fájlt ad hozzá a projekt gyökérmappájához. Azonban hozzáadhat egy .gitignore fájlt bármely projektmappához, hogy a Git tudja, mely fájlokat hagyja figyelmen kívül az adott mappában és annak almappáiban bármilyen beágyazott mélységben. Több .gitignore fájl esetén az .gitignore fájl által egy mappában megadott fájlkeresési minták elsőbbséget élveznek azokkal a mintákkal szemben, amelyeket egy .gitignore fájl a szülőmappában határoz meg.
  • Létrehozás: Kézzel is létrehozhat egy .gitignore fájlt, és fájlminta-bejegyzéseket adhat hozzá. Időt takaríthat meg, ha letölt egy .gitignore sablont a fejlesztői környezethez a GitHub gitignore adattárból.
  • Előnyök: A .gitignore fájlok használatának egyik előnye, hogy véglegesítheti módosításokat, és megoszthatja azt másokkal.

Megjegyzés

A Visual Studio automatikusan létrehoz egy .gitignore fájlt a Visual Studio fejlesztői környezetéhez, amikor egy Git-adattárat hoz létre.

A Visual Studio 2022 Git-verziókövetési felületet biztosít a Git menün, Git-módosításokés helyi menüken keresztül Megoldáskezelő. A Visual Studio 2019 16.8-es verziója a Team Explorer Git felhasználói felületét is kínálja. További információt a Visual Studio 2019 – Team Explorer lapon talál.

A Git-módosítások ablakban kattintson a jobb gombbal az összes olyan módosított fájlra, amelyet a Git figyelmen kívül szeretne hagyni, majd válassza a A helyi elem figyelmen kívül hagyása vagy A bővítmény figyelmen kívül hagyásalehetőséget. Ezek a menübeállítások nem léteznek a követett fájlokhoz.

Képernyőkép a Visual Studio Git Changes ablakában a módosított fájlok helyi menüjének beállításairól.

  • A Hagyja figyelmen kívül ezt a helyi elemet, beállítás új bejegyzést ad hozzá a .gitignore fájlhoz, és eltávolítja a kijelölt fájlt a módosított fájlok listájából.
  • A A bővítmény figyelmen kívül hagyása beállítás új bejegyzést ad hozzá a .gitignore fájlhoz, és eltávolítja a kijelölt fájllal megegyező kiterjesztésű fájlokat a módosított fájlok listájából.

Bármelyik lehetőség létrehoz egy .gitignore fájlt, ha még nem létezik az adattár gyökérmappájában, és hozzáad hozzá egy bejegyzést.

Gitignore-fájl szerkesztése

A .gitignore fájl minden bejegyzése vagy: egy fájlkeresési minta, amely meghatározza, hogy mely fájlokat hagyja figyelmen kívül, egy számjellel (#) kezdődő megjegyzés vagy üres sor (olvashatóság érdekében). A .gitignore szintaxis rugalmas, és támogatja a helyettesítő karakterek használatát, hogy egyedi vagy több fájlt adjon meg név, bővítmény és elérési út alapján. A fájlkeresési minták minden elérési útja a .gitignore fájlhoz van viszonyítva.

Íme néhány példa a gyakori fájlkeresési mintákra:

# Ignore all files with the specified name.
# Scope is all repo folders.
config.json

# Ignore all files with the specified extension.
# Scope is all repo folders.
*.json

# Add an exception to prevent ignoring a file with the specified name.
# Scope is all repo folders.
!package.json

# Ignore a file with the specified name.
# Scoped to the 'logs' subfolder.
/logs/test.logfile

# Ignore all files with the specified name.
# Scoped to the 'logs' subfolder and all folders beneath it.
/logs/**/test.logfile

# Ignore all files in the 'logs' subfolder.
/logs/

Amint módosít egy .gitignore fájlt, a Git frissíti azoknak a fájloknak a listáját, amelyeket figyelmen kívül hagy.

Megjegyzés

A Windows-felhasználóknak perjelet (/) kell használniuk egy .gitignore fájl elérési útelválasztójaként ahelyett, hogy fordított perjelet (\) használnak. Minden felhasználónak hozzá kell adnia egy záró perjelet egy mappa megadásakor.

Globális .gitignore-fájl használata

Kijelölhet egy .gitignore fájlt globális figyelmen kívül hagyó fájlként, amely az összes helyi Git-adattárra vonatkozik. Ehhez használja a git config parancsot az alábbiak szerint:

git config core.excludesfile <gitignore file path>

A globális .gitignore fájlok biztosítják, hogy a Git ne véglegesítsen bizonyos fájltípusokat, például a lefordított bináris fájlokat egy helyi adattárban. Az adattárspecifikus .gitignore fájlok fájlkeresési mintái elsőbbséget élveznek a globális .gitignore-fájlok mintáival szemben.

Kizárási fájl használata

A fájlkeresési minták bejegyzéseit is hozzáadhatja a exclude fájlhoz a helyi adattár .git/info/ mappájában. A exclude fájl tájékoztatja a Gitet, hogy mely nem követett fájlokat hagyja figyelmen kívül. Ugyanazt a szintaxist használja a fájlkeresési mintákhoz, mint egy .gitignore fájlhoz.

Egy exclude fájl bejegyzései csak a nem követett fájlokra vonatkoznak. Nem akadályozzák meg, hogy a Git a már nyomon követett és véglegesített fájlok módosításait jelentse. Tárházbanként csak egy exclude fájl létezik.

Mivel a Git nem véglegesíti vagy küldi le a exclude fájlt, nyugodtan figyelmen kívül hagyhatja a helyi rendszer fájljait anélkül, hogy bárki mást érintenének.

A git update-index használata a módosítások figyelmen kívül hagyásához

Néha célszerű ideiglenesen leállítani egy helyi adattárfájl követését, és a Git figyelmen kívül hagyni a fájl módosításait. Előfordulhat például, hogy testre szeretne szabni egy beállításfájlt a fejlesztői környezethez a módosítások véglegesítésének kockázata nélkül. Ehhez a git update-index parancsot a skip-worktree jelzővel futtathatja:

git update-index --skip-worktree <file path>

A nyomon követés folytatásához futtassa a git update-index parancsot a --no-skip-worktree jelzővel.

Vagy ideiglenesen leállíthatja a fájlok nyomon követését, és a Git figyelmen kívül hagyhatja a fájl módosításait a assume-unchanged jelzővel ellátott git update-index paranccsal. Ez a beállítás kevésbé hatékony, mint a skip-worktree jelző, mert a fájltartalmat módosító Git-pull művelet visszaállíthatja a assume-unchanged jelzőt.

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

A nyomon követés folytatásához futtassa a git update-index parancsot a --no-assume-unchanged jelzővel.

A git rm használata a módosítások figyelmen kívül hagyásához

Egy .gitignore vagy exclude fájl bejegyzései nincsenek hatással a Git által már nyomon követett fájlokra. A Git nyomon követi a korábban véglegesített fájlokat. Ha véglegesen el szeretne távolítani egy fájlt a Git-pillanatképből, hogy a Git többé ne kövesse nyomon, de anélkül, hogy törölné azt a fájlrendszerből, futtassa a következő parancsokat:

git rm --cached <file path>
git commit <some message>

Ezután használjon .gitignore vagy exclude fájlbejegyzést, hogy a Git ne jelentse a fájl módosításait.

Következő lépések