Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Ebben a cikkben választ talál a Gitre vonatkozó gyakori kérdésekre, kifejezetten az Azure-adattárakra szabottan. Akár távoli ágakat szeretne kezelni, azonosítani szeretné az aktuális ágat, akár más kevésbé gyakori Git-feladatokat szeretne kezelni, ez az útmutató hasznos tippeket és megoldásokat nyújt. A Git-munkafolyamat továbbfejlesztéséhez és a gyakori problémák megoldásához tekintse át az alábbi szakaszokat.
Hogyan tölthetek le egyszerűen egy távoli ágat a helyi adattáramba?
Először győződjön meg arról, hogy konfigurálta az origin
adattárat. Ezt akkor kell használnia, ha klónozta az adattárat a használatával git clone
. Ha kivesz egy olyan ágat, amely nem létezik helyileg, a Git ellenőrzi, hogy van-e azonos nevű távoli ág. Ha van ilyen, a Git létrehoz egy helyi ágat, amely a távoli ágra hivatkozik. A véglegesítések letöltéséhez és a fiókelőzmények helyi frissítéséhez használható git pull
.
Hogyan deríthetem ki, melyik ágon dolgozom?
Futtassa git branch
argumentumok nélkül a helyi ágak megjelenítéséhez és a kivett ág kiemeléséhez. A Visual Studióban az állapotsor az aktuális ágat is megjeleníti, amikor egy helyi Git-adattárban tárolt projekttel dolgozik.
Mikor kell véglegesítenem a Gitet?
Ajánlott külön véglegesítéseket létrehozni a logikailag eltérő módosításokhoz. A véglegesítéseket egy napló bejegyzéseinek tekinti. Amikor módosítást hajt végre, jegyezze fel egy véglegesítésben. Népszerű módszer a gyakori helyi véglegesítések engedélyezése, de a leküldés előtt át kell nyomni őket. Ez rugalmasságot biztosít a véglegesítési előzmények egyszerűsítése mellett.
Ha minden ág megtartja a teljes véglegesítési előzményeit, az nem teszi nehézvé a *main* véglegesítési előzményeit az idő múlásával?
A sok véglegesítéssel és közreműködővel rendelkező nagy projektek olyan ágelőzményeket eredményezhetnek main
, amelyek jobban tükrözik a témakörágak fejlesztését, mint a teljes projekt. A Git lehetővé teszi a véglegesítések összecsapását az ágakon a véglegesítések összenyomásával és újrapróbálásával. A véglegesítések összevonásával a fiókelőzmények kevésbé részletesek, így egyszerűbbé válik a főág véglegesítési előzményeinek összevonása.
Hogyan deríthetem ki, hogy ki módosította a fájlokat?
git blame
A paranccsal megtudhatja, hogy ki módosította a fájlt. A helyi adattárban futtathatja git blame
a -L
paramétert, megadva, hogy mely sorok érdekelhetik. Blame
formázott kimenetet hoz létre, amelyen a véglegesítés látható, amely legutóbb frissítette a vonalat és a véglegesítést végrehajtó személy nevét.
> git blame Example_repo -L 20,+40 # show the blame output for the next 40 lines starting at line 20
215d1108 (Example User 2015-11-21 09:54:23 -0800 20) line 20 of the code
215d1108 (Example User 2015-11-21 09:54:23 -0800 21) line 21 of the code
215d1108 (Example User 2015-11-21 09:54:23 -0800 22) line 22 of the code
Blame
megkeresi a véglegesítési előzményeket. A fájlelőzményeket a webes portálon is áttekintheti, így megállapíthatja, hogy ki és mikor módosította a fájlt. Nyissa meg a Kódkezelőt az adattárhoz és az ághoz, majd válassza ki a kívánt fájlt. Az Azure Repos megjeleníti a fájl véglegesítési előzményeit az aktuális ágon.
Módosítottam néhány fájlt, és most már nem tudok másik ágba bejelentkezni, és nem tudom újrabázisba adni a munkámat.
A Git egy másik ágára való kijelentkezés hatással van a fájlrendszer fájljainak állapotára. A Git a véglegesítési előzmények használatával ellenőrzi, hogy az ág állapotát képviselő fájlokkal dolgozik-e. Ha megkísérli módosítani az ágakat, miközben nem véglegesített módosításokat hajt végre, a rendszer felülírja ezeket a módosításokat a kivétel során. Mivel a Git nem szeretné, hogy véletlenül elveszítse a módosításokat, megakadályozza a kivételt. Két lehetőség áll rendelkezésre:
- Hagyja abba a módosításokat, és térjen vissza a legutóbbi véglegesítéshez. A Git módosításainak visszavonásával kapcsolatos útmutatást a legutóbbi véglegesítésre való visszaállításhoz talál.
- Véglegesítse a módosításokat. Tekintse meg a munkát a Gitben véglegesítésekkel való mentésével kapcsolatban.
- Az aktuális munka eltolása , a módosítások mentése későbbi használatra, és a munkaterület megtisztítása az utolsó véglegesítésig.
A lekéréses kérelem nem tud egyesítést végrehajtani a következő üzenettel: "Nem lehet automatikusan egyesíteni: Az egyik belső Git-objektum (blob, fa, véglegesítés vagy címke) túl nagy, ami TF401022 kivételt okozott. Megpróbálhatja használni az LFS-t, feloszthatja az egyesítést vagy a nagy véglegesítést több kisebbre."
Ez a probléma a nagy bináris fájlokban lévő ütközések egyesítésével kapcsolatos. A fájlok jelenlegi korlátja 100 MB. A megkerülő megoldás az egyesítési ütközések helyi feloldása a cél helyi forrásba való egyesítésével, az ütközések feloldásával és a módosítások leküldésével.
A Git LFS (Large File Storage) nagy bináris fájlok tárolására ajánlott, nem csak az ütközések elkerülése érdekében, hanem az adattár általános méretének kezeléséhez is, ami hatással van a klónozási és leküldési időkre.
Dolgoztam egy kicsit, de valami másra kell váltania. Hogyan menthetem a munkámat későbbre a módosítások véglegesítése nélkül?
Ha véglegesítés nélkül szeretné menteni a módosításokat, használja a Gitet stash
. A stash menti az ág aktuális szakaszos és instabil változásait, és visszaállítja az ágat az utolsó véglegesítés állapotára. Ezután átválthat egy másik ágra, elvégezheti a munkáját, majd később futtathatja stash apply
a módosításokat.
git stash
Saved working directory and index state WIP on feature1: be26067 updated endpoint docs
HEAD is now at be26067
A (]git stash apply
) futtatásakor a rendszer a legutóbb elrejtett módosításokat alkalmazza az aktuális ágra. Ütközés esetén [] visszaállítja az ütköző fájlok módosításait,stash
és ütközésjelölőket hoz létre a fájlban. Ebben az esetben manuálisan kell egyesítenie a módosításokat.
Ha végzett a tárolóval, törölje a következővel: [git stash drop
]. Ez a parancs eltávolítja az elrejtett módosítások utolsó készletét.
Több adatbázist is használhat, de a kezelésükhöz manuálisabb kezelésre van szükség, mivel explicit módon kell alkalmaznia és el kell dobnia a rejteket. További információ a Git Stash dokumentációjából.
Hogyan módosítható a Git parancssori eszközeinek alapértelmezett szerkesztője?
A parancssori Git alapértelmezés szerint parancssori szerkesztőt használ, amikor véglegesítési üzeneteket kér, újrabázisokat hajt végre, és egyéb olyan munkát végez, amely további információkat igényel. Az alapértelmezett szerkesztő a következő használatával git config
van konfigurálva:
> git config core.editor _path_to_editor_ _options_to_editor_
A Windows Git megkönnyíti a jegyzettömb szerkesztőként való beállítását:
> git config core.editor notepad
Ez a parancs konfigurálja a Windows Jegyzettömbet, hogy szükség szerint szerkessze a Git-információkat, és megfelelően adja át a szöveget a Gitből a Jegyzettömbbe. Megadhatja azt is, hogy
> git config format.commitMessageColumns 72
A véglegesítési üzenetek szövegoszlopainak megtartása az előnyben részesített 72-es értékre és sortörésre, miután elérte a karakterkorlátot egy vonalon.
Hogyan módosíthatom a véglegesítésekben megjelenített felhasználónevet és e-mailt?
A Git minden véglegesítésben elhelyez egy felhasználónevet és e-mail-címet, az Azure Repos pedig ezeket az adatokat használja a véglegesítések megtekintésekor és a lekéréses kérelmek használatakor.
Ha a parancssoron dolgozik, frissítheti a parancs használatával git config
megjelenített nevet és e-mail-információkat:
> git config --global user.email "example-user@example-site.com"
> git config --global user.name "Example User"
A --global
beállítás beállítja a véglegesítésekben szereplő e-mail-címet és -nevet a rendszeren található összes Git-adattárhoz. Ha egyetlen adattár beállításait szeretné módosítani, át kell váltania arra a könyvtárra, amelyben a Git-adattár található, és a fenti parancsokat a --global
jelölő nélkül kell futtatnia.
A név- és e-mail-beállításokat a Visual Studióból is módosíthatja. A Git menü Beállítások párbeszédpaneljén válassza a Git Globális beállítások vagy a Git-adattár általános beállításai lehetőséget>.
A Visual Studio 2019 16.8-s és újabb verziói gites verziókövetési felületet biztosítanak a Team Explorer Git felhasználói felületének fenntartása mellett. A Team Explorer használatához törölje az Eszközök>beállításai>– előzetes verziójú funkciók>új Git felhasználói felületének jelölését a menüsávról. A Git-funkciókat mindkét felületen felcserélheti.
A Team Explorerben válassza a Beállítások lehetőséget, majd a Git alatt válassza a Globális beállítások vagy adattár beállításai hivatkozást.