Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Visual Studio 2019 | Visual Studio 2022
Git používá metadata potvrzení, jako jsou odkazy na nadřazené objekty, podrobnosti o autorovi a časová razítka, ke sledování historie změn v úložišti. Historii Gitu můžete zkontrolovat a zjistit, kdy se soubory změnily, kdo je změnil a jaké změny byly provedeny.
Když lidé vytvářejí a slučují větve funkcí do cílové větve pomocí žádostí o přijetí změn, nemusí být historie vývoje cílové větve rovnou chronologickou čárou. Když tedy zkontrolujete historii změn souboru v cílové větvi, mějte na paměti, že pořadí potvrzení je ovlivněno strategií sloučení a datem sloučení, nejen původním datem změn. Například poslední potvrzení ve main větvi může zavést změnu, která byla provedena před týdny ve větvi funkce, která byla pouze sloučena do main větve pomocí třícestné sloučení.
Pokud chcete zjistit, jak používat Visual Studio 2022 s Gitem, přečtěte si, jak Visual Studio usnadňuje správu verzí pomocí Gitu.
Požadavky
| Kategorie |
Požadavky |
|
Přístup k projektu |
Člen projektu. |
|
Oprávnění |
- Zobrazit kód v soukromých projektech: Alespoň Základní přístup. - Klonování nebo přispívání do kódu v soukromých projektech: Člen skupiny zabezpečení Contributors nebo osoba s odpovídajícími oprávněními v projektu. – Nastavte oprávnění pro větev nebo úložiště: Správa oprávnění oprávnění pro větev nebo úložiště. – Změnit výchozí větev: Upravit zásady oprávnění pro úložiště. – Import úložiště: Člen skupiny zabezpečení Projektoví administrátoři nebo oprávnění Vytvořit úložiště na úrovni projektu Git nastavená na Povolit. Další informace najdete v tématu Nastavení oprávnění úložiště Git. |
|
Služby |
Repozitáře povoleny. |
|
Nástroje |
Volitelný. Použijte příkazy az repos: Azure DevOps CLI. |
Poznámka:
Ve veřejných projektech mají uživatelé s přístupem Stakeholder plný přístup do Azure Repos, kde mohou zobrazovat, klonovat a přispívat ke kódu.
| Kategorie |
Požadavky |
|
Přístup k projektu |
Člen projektu. |
|
Oprávnění |
- Zobrazit kód: Alespoň základní přístup. - Klonování nebo přispívání do kódu: Člen skupiny zabezpečení Přispěvatelé nebo odpovídající oprávnění v rámci projektu. |
|
Služby |
Repozitáře povoleny. |
Porovnání verzí souborů
Pokud chcete zjistit, jak a kdy došlo ke změně konkrétního souboru, budete možná muset porovnat různé verze stejného souboru z různých potvrzení, případně v různých větvích.
Web týmového projektu Azure DevOps umožňuje porovnat dvě verze stejného souboru z potvrzení ve stejné větvi, ale nepodporuje porovnávání verzí souborů napříč větvemi.
Ve webovém prohlížeči otevřete týmový projekt pro vaši organizaci Azure DevOps. V zobrazení Soubory úložiště > vyberte soubor a zvolte kartu Porovnat.
Na kartě Porovnat zvolte dvě potvrzení obsahující verze souborů, které chcete porovnat. Rozdílové zobrazení zobrazuje všechny nové, odstraněné nebo upravené řádky souboru.
Poznámka:
GitHub umožňuje porovnat dvě verze stejného souboru z různých commitů v různých větvích. Pokud chcete porovnat, připojte /compare/<commit1>..<commit2> k adrese URL úložiště GitHub pro přechod na stránku porovnání. Stránka porovnání obsahuje rozdílové zobrazení jednotlivých souborů, které se liší. Další informace o porovnání potvrzení na GitHubu najdete v tématu Porovnání potvrzení.
Visual Studio 2022 poskytuje prostředí pro správu verzí Git pomocí nabídky Git, Změn Git a kontextových nabídek v Průzkumníku řešení. Visual Studio 2019 verze 16.8 také nabízí uživatelské rozhraní Git Team Exploreru. Další informace najdete v kategorii Visual Studio 2019 – Team Explorer.
Visual Studio umožňuje porovnat dvě verze stejného souboru ve stejné větvi, ale nepodporuje porovnávání verzí souborů napříč větvemi.
V Průzkumníku řešení vyberte soubor a v místní nabídce souboru zvolte Historii zobrazení Gitu>. Otevře se karta Historie Gitu pro vybraný soubor.
Na kartě Historie Gitu zvolte v místní nabídce commitu příkaz Porovnat s předchozím a otevřete kartu Rozdíl, která porovnává vybraný commit s předchozím commitem.
Nebo vyberte dva commity a v místní nabídce jednoho z nich zvolte Porovnat . Otevře se karta Diff, která porovnává oba vybrané commity.
Na kartě Rozdíly se zobrazují nové, odstraněné nebo upravené řádky souboru.
Team Explorer neposkytuje podporu pro tuto funkci.
Příkaz git diff může porovnat různé verze stejného souboru z různých potvrzení napříč různými větvemi. Příkaz git log vám může pomoct identifikovat potvrzení obsahující verze souborů, které chcete porovnat.
Použijte git log a zadejte soubor k seznamu potvrzení, která změnily soubor.
git log <file>
Výstup příkazu ve výchozím nastavení začíná nejnovějším potvrzením v aktuální větvi a poté pokračuje zpětným procházením potvrzeními předků (bez ohledu na větev) podle odkazů na rodiče v metadatech každého potvrzení.
Tady je příklad výstupu příkazu git log index.html:
commit bbc3b679197b659544a6f8070c79fb535b496613
Date: Thu Jun 30 13:42:50 2021 -0400
update landing page
commit e5402fe710c25eca1b96a4e238eee9c01ed41c6a
Date: Thu Jun 30 13:42:23 2021 -0400
initial commit
Pokud chcete zjistit, jak se potvrzené verze souborů liší, použijte git diff a zadejte soubor a dvě potvrzení:
git diff <commit1> <commit2> <file>
Tady je příklad výstupu příkazu git diff bbc3b67 e5402fe index.html:
- <link rel="stylesheet" href="app.cs"/>
+ <link rel="stylesheet" href="fabrikam.cs"/>
Výstup ukazuje, že jeden řádek byl odstraněn a byl přidán jeden řádek.
Omezení výstupu protokolu Gitu
Chcete-li omezit] potvrzení, která git log jsou v seznamu, můžete filtrovat podle autora, data, zprávy, změněného obsahu a dalších. Například:
git log --author=frank@fabrikam.com index.html vypíše pouze commity zadaného autora.
git log --since="2022-5-1" zobrazí pouze potvrzení vytvořená po zadaném datu.
git log --before="yesterday" zobrazí pouze potvrzení vytvořená před zadaným relativním datem.
git log --grep="css change" vypíše pouze potvrzení se zadaným textem ve zprávě.
git log -S"myVariable" zobrazí pouze commity, které zavádějí nebo odebírají zadaný řetězec.
git log -G"myVar.*" zobrazuje pouze commity, které zavádějí nebo odebírají zadaný řetězec regulárního výrazu.
git log -3 zobrazí pouze poslední tři potvrzení.
Pro seznam potvrzení máte několik možností formátu . Například:
git log --abbrev-commit zobrazuje commity pomocí zkráceného ID (kontrolní součet SHA-1).
git log --oneline vypíše každé potvrzení ve zkrácené podobě s jedním řádkem.
git log --patch index.html uvádí jednotlivé commity spolu s rozdíly oproti předchozí verzi.
Obnovení souborů
Konkrétní verzi souboru můžete obnovit z historie Gitu, i když byl soubor upraven, odstraněn nebo přejmenován v pozdějším potvrzení. Při obnovování starší verze souboru se při změně nevytvoří nové potvrzení. Pokud chcete aktualizovat větev s obnovenou verzí souboru, musíte změnu potvrdit.
Stránka týmového projektu Azure DevOps vám umožňuje vrátit všechny změny provedené špecifickým potvrzením, ale nepodporuje vrácení změn konkrétního souboru v rámci potvrzení.
Visual Studio umožňuje porovnat dvě verze stejného souboru ve stejné větvi, ale nepodporuje porovnávání verzí souborů napříč větvemi.
V Průzkumníku řešení vyberte soubor a v místní nabídce souboru zvolte Historii zobrazení Gitu>. Otevře se karta Historie Gitu pro vybraný soubor.
Na kartě Historie Gitu zvolte v místní nabídce commitu příkaz Porovnat s předchozím a otevřete kartu Rozdíl, která porovnává vybraný commit s předchozím commitem.
Nebo vyberte dva commity a v místní nabídce jednoho z nich zvolte Porovnat . Otevře se karta Diff, která porovnává oba vybrané commity.
Na kartě Rozdíly se zobrazují nové, odstraněné nebo upravené řádky souboru.
Visual Studio 2019 verze 16.8 a novější verze poskytují prostředí pro správu verzí Gitu při zachování uživatelského rozhraní Git Team Exploreru. Pokud chcete použít Team Explorer, zrušte zaškrtnutí v nabídce Nástroje>Možnosti>Ukázkové funkce>Nové uživatelské rozhraní Gitu na řádku nabídek.
V Průzkumníku řešení vyberte soubor a v místní nabídce souboru zvolte Historii zobrazení Gitu>. Otevře se karta Historie Gitu pro vybraný soubor.
Na kartě Historie Gitu vyberte commit a v jeho místní nabídce zvolte Zobrazit podrobnosti commitu pro otevření zobrazení Podrobnosti commitu.
V zobrazení Podrobnosti potvrzení vyberte soubor a v místní nabídce souboru zvolte Otevřít a otevřete předchozí verzi souboru na nové kartě.
V řádku nabídek zvolte Uložit > soubor jako a uložte obnovenou verzi souboru.
Příkazy git checkout nebo git show můžete použít k obnovení konkrétní verze souboru z historie Gitu.
Pokud zadáte soubor a potvrzení, git vrátí soubor k dříve potvrzené verzi:
git checkout <commit> <file>
Například git checkout 85435fac src/app.ts vrátí src/app.ts soubor na jeho verzi při revizi 85435fac.
Git show vytiskne obsah dříve potvrzené verze souboru, který můžete přesměrovat na výstupní soubor:
git show <commit>:<file> > <output file>
Například git show 85435fac:src/app.ts > /archive/oldapp.ts zapíše obsah app.ts potvrzení 85435fac do /archive/oldapp.ts.
Porovnání větví
Můžete porovnat všechny místní nebo vzdálené větve a zkontrolovat změny, které budou výsledkem sloučení nebo opětovného vytvoření základu. Porovnání větví umožňuje zkontrolovat konflikty při slučování a zjistit, jak můžou změny ostatních ovlivnit vaši práci.
Visual Studio 2019 a starší verze nepodporují porovnání větví, takže pokud používáte některou z těchto verzí, můžete porovnat větve na příkazovém řádku Gitu nebo ve webovém prohlížeči – pokud je úložiště hostované v Azure Repos nebo GitHubu. Visual Studio 2022 podporuje porovnání větví, jak je popsáno v tématu Porovnání větví.
Ve webovém prohlížeči otevřete týmový projekt pro vaši organizaci Azure DevOps. V zobrazení Větve repos > vyberte tři tečky pro libovolnou větev a zvolte Porovnat větve a otevřete zobrazení Porovnání větví .
V zobrazení Porovnání větví zvolte dvě větve, které chcete porovnat. Vyberte kartu Soubory pro rozdílové zobrazení nových, odstraněných nebo upravených řádků v jednotlivých změněných souborech.
Poznámka:
GitHub podporuje porovnání větví. Pokud chcete porovnat dvě větve, připojte /compare/<branch1>...<branch2> se k adrese URL úložiště GitHub a přejděte na stránku porovnání. Stránka porovnání obsahuje rozdílové zobrazení jednotlivých souborů, které se liší. Další informace o porovnání větví na GitHubu najdete v tématu Porovnání větví.
Pokud chcete porovnat větev s aktuální větví, klikněte pravým tlačítkem myši na větev v podokně Větve úložiště a pak vyberte možnost porovnání. Místní nabídka určuje názvy aktuálních a cílových větví:
Visual Studio 2019 nepodporuje porovnání větví. Můžete ale porovnat větve na příkazovém řádku Gitu nebo ve webovém prohlížeči – pokud je vaše úložiště hostované v Azure Repos nebo GitHubu.
Návod
K webovému portálu se dostanete z domovského zobrazení Team Exploreru tak, že zvolíte webový portál.
Pokud chcete porovnat jakékoli dvě místní nebo vzdálené větve, můžete použít příkaz Gitu diff , který určuje názvy větví:
git diff <branch1> <branch2>
Git porovnává potvrzení na špičce jedné větve s potvrzením na špičce druhé větve. Výstup rozdílu zobrazí odstranění a přidání jednotlivých souborů v obou větvích.
Tady je příklad výstupu příkazu git diff users/frank/feature origin/main, který porovnává místní větev se vzdálenou větví:
index 36843b8..03afc4b 100644
--- a/tsapp/index.html
+++ b/tsapp/index.html
@@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
- <link rel="stylesheet" href="fabrikam-test.css" type="text/css" />
+ <link rel="stylesheet" href="fabrikam.css" type="text/css" />
<script src="app.js"></script>
</head>
...
--- a/tsapp/app.ts
+++ b/tsapp/app.ts
constructor(element: HTMLElement) {
this.element = element;
- this.element.innerHTML += "The time is: ";
+ this.element.innerHTML += "The time is now: ";
this.span = document.createElement('span');
this.element.appendChild(this.span);
this.span.innerText = new Date().toUTCString();
Pokud chcete zúžit porovnání s konkrétním souborem, zadejte ho diff v příkazu:
git diff <branch1> <branch2> <file>
Například git diff users/frank/feature origin/main index.html vygeneruje pouze změny pro soubor index.html.
Další kroky
Související články