Szerkesztés

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


Gyakori kérdések a Gitről

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

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ált egy origin adattárat. Az adattár klónozása git cloneesetén rendelkeznie kell egy ilyen adattárral. Ha kivesz egy olyan ágat, amely nem létezik helyileg, a Git megállapítja, hogy létezik-e egy azonos nevű távoli ág. Ha van ilyen, a Git létrehoz egy helyi ágat, amely a név távoli ágára hivatkozik. A véglegesítések letöltésére és a Git helyi felzárkózására használható git pull az ágelőzmények között.

Hogyan deríthetem ki, melyik ágon dolgozom?

git branch Argumentumok nélkül jeleníti meg a helyi ágakat, és kiemeli a kivett ágakat. 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?

Az elfogadott eljárás az, hogy külön véglegesítéseket hajtanak végre a logikailag különálló módosításokhoz. A véglegesítéseket egy napló bejegyzéseinek tekinti. Amikor olyan módosítást hajt végre, amelyet érdemes megjegyezni, rögzítse egy véglegesítésben. Népszerű lehetőség, hogy mindenki a kívánt módon véglegesítse helyileg a véglegesítést, de mielőtt leküldené a helyi véglegesítéseket, először újraküldi őket. Ez a beállítás rugalmasságot biztosít a felhasználók számára a gyakori véglegesítések elvégzéséhez, a véglegesítési előzmények egyszerűsége 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 számos közreműködővel rendelkező nagy projektek olyan véglegesítési előzményeket eredményezhetnek az main ághoz, amelyek a témakörágak fejlesztési előzményeit jelölik, és többbe main egyesülnek, mint a teljes projekt fejlesztési előzményei. 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ásakor az ág véglegesítési előzményei kevésbé részletesek lesznek, ami egyszerűbb véglegesítési előzményeket tesz lehetővé a fő ágon az egyesítés után.

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 foo.js -L 20,+40  # show the blame output for the next 40 lines starting at line 20

215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 20) line 20 of the code
215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 21) line 21 of the code
215d1108 (Francis Totten 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 lesz 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.

Elvégeztem egy kis munkát, de valami másra kell váltnom. Hogyan menthetem a munkámat későbbre a módosítások véglegesítése nélkül?

Néha meg szeretné tartani a módosításokat, de nem véglegesíteni őket, mert nem olyan helyen vannak, ahol ezt kényelmesen megteheti. A Git stashhasználata. A Stash az ág aktuális szakaszos és instabil módosításait veszi át, és menti a munkát, majd visszaadja az ágat az utolsó véglegesítés állapotába. Válthat a másik ágra, elvégezheti a munkát, majd amikor visszatér ehhez az ághoz, futtassa 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

Futtatáskor git stash applya rendszer a legutóbb elrejtett módosításokat alkalmazza az aktuális ágra. Ha ütközés lép fel az eltitkolt módosítások alkalmazásakor, visszaállítja az ütközést nem okozó fájlok módosításait, stash és ütközésjelölőket hoz létre az ütköző fájlokban a feloldáshoz. Ebben az esetben manuálisan kell egyesítenie a módosításokat.

Ha végzett az elrejtéssel, törölje az Ezzel a git stash drop paranccsal, és eltávolítja az utolsó eltitkolt módosításokat.

Több rejtekhely is lehet, de ehhez 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?

Alapértelmezés szerint a parancssori Git parancssori szerkesztőt fog használni, amikor véglegesítési üzeneteket kér, újrabázisokat végez, é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 configvan 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ömb, hogy szükség szerint szerkessze a Git-információkat, és megfelelően adja át a szöveget a Gitből a Jegyzettömb. 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 "frank@fabrikam.com"
> git config --global user.name "Francis Totten"

Ez --global a beállítás beállítja a véglegesítésekben szereplő e-mail-címet és -nevet a rendszer összes Git-adattárához. 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üben válassza a Gépház A Beállítások párbeszédpanelen válassza a Git Global Gépház vagy a Git-adattár Gépház> General 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 Gépház, majd a Git alatt válassza a Globális Gépház vagy adattár Gépház hivatkozást.