Správa úložišť Git v sadě Visual Studio

Okno úložiště Git poskytuje prostředí Gitu na celé obrazovce, které vám pomůže spravovat úložiště Git a udržet si přehled o projektech vašeho týmu. Můžete například potřebovat resetovat, vrátit nebo vybrat konkrétní potvrzení změn, nebo jen vyčistit historii potvrzení změn. Okno úložiště Git je také skvělým místem pro vizualizaci a správu branchí.

Správa verzí pomocí sady Visual Studio je snadná s Gitem. A můžete pracovat vzdáleně s poskytovatelem Gitu podle vašeho výběru, jako je GitHub nebo Azure DevOps. Nebo můžete pracovat místně bez poskytovatele.

Otevření okna úložiště Git

Pokud chcete otevřít okno úložiště Git, zvolte Zobrazit>úložiště Git (nebo stiskněte Ctrl+0, Ctrl+R), nebo stiskněte Ctrl+Q a v části Funkcevyhledejte úložiště Git.

Vysvětlení potvrzení pomocí GitHub Copilot Chatu

S rozšířeními Visual Studio 2022 verze 17.10 preview 2 a novějšími a GitHub Copilot můžete využít AI k vygenerování podrobného popisu commitu, který vysvětluje změny v daném commitu. Stisknutím tlačítka Vysvětlit požádejte, aby GitHub Copilot vytvořil popis potvrzení. Pokud chcete nainstalovat GitHub Copilot, přečtěte si téma Instalace a správa GitHub Copilotu v sadě Visual Studio.

snímek obrazovky s tlačítkem vysvětlit, aby GitHub Copilot vytvořil vysvětlení commitu.

Změna posledního potvrzení (změna)

Aktualizace posledního commitu se nazývá úprava v Git a jedná se o běžný případ použití. Někdy stačí aktualizovat zprávu o potvrzení nebo může být potřeba zahrnout změnu za poslední minutu.

Potvrzení na příkazovém řádku můžete změnit pomocí následujícího příkazu:

git commit --amend

Okno úložiště Git usnadňuje aktualizaci nejnovější zprávy o potvrzení. Otevřete podrobnosti posledního commitu dvojklikem a pak vyberte možnost Upravit vedle zprávy commitu.

snímek obrazovky s úpravou potvrzovací zprávy

Po dokončení úprav zprávy potvrzení vyberte Změnit.

snímek obrazovky s uložením upravené zprávy výběrem možnosti Změnit.

Pokud potřebujete do posledního potvrzení zahrnout změny kódu, můžete to udělat v okně Git Changes. Zaškrtněte políčko Změnit a potvrďte provedené změny.

snímek obrazovky úpravy změn kódu v okně Změny Gitu

Další informace o změně, včetně toho, jak změnit potvrzovací zprávy jiné než poslední, najdete v tématu Nástroje Gitu – Přepis historie na webu Git.

Sloučení commitů (squash)

Git nabízí možnost sloučení řady potvrzení do jednoho potvrzení. Tato možnost může být užitečná, pokud často provádíte commits a skončíte s dlouhým seznamem commits, které chcete před odesláním do vzdáleného úložiště vyčistit.

Dvě potvrzení na příkazovém řádku můžete zamačkat pomocí následujícího příkazu:

git rebase -i HEAD~2

Potom aktualizujte pick na squash, uložte a aktualizujte zprávu potvrzení.

Snímek obrazovky s aktualizací výběru squashu

Pokud chcete sloučit potvrzení v sadě Visual Studio, pomocí klávesy Ctrl vyberte více potvrzení, která chcete sloučit. Pak klikněte pravým tlačítkem myši a vyberte squash commits. Visual Studio automaticky kombinuje zprávy potvrzení, ale někdy je lepší poskytnout aktualizovanou zprávu. Po kontrole a aktualizaci potvrzovací zprávy vyberte tlačítko Squash.

snímek obrazovky se squashováním commitů v sadě Visual Studio

Další informace o squashingu najdete v tématu Git Tools – Přepis historie na webu Git.

Sloučení a změna základu větví

Pokud k práci na různých funkcích používáte větve Gitu, budete muset v určitém okamžiku zahrnout aktualizace zavedené do jiných větví. K tomu může dojít, když stále pracujete na své větvi funkcí. Může k tomu také dojít, když dokončíte práci na větvi funkce a budete muset zachovat změny tak, že je přidáte do jiné větve. V Gitu můžete tyto aktualizace zahrnout sloučením nebo opětovným sloučením větví.

Poznámka

Následující pokyny používají New_Feature jako příklad názvu větve funkcí. Nahraďte ho názvem vlastní větve.

Pokud chcete hlavní větev sloučit do větve funkcí na příkazovém řádku, použijte následující příkazy:

git checkout New_Feature
git merge main

Pokud chcete udělat totéž ve Visual Studiu, vyberte feature větev dvojitým kliknutím v seznamu větví. Potom klikněte pravým tlačítkem na 'hlavní' a vyberte "Sloučit 'hlavní' do 'New_Feature'".

obrazovkový snímek sloučení větví v programu Visual Studio

Pokud chcete hlavní větev na příkazovém řádku převést do větve funkcí, použijte následující příkazy:

git checkout New_Feature
git rebase main

Pokud chcete totéž udělat v sadě Visual Studio, zkontrolujte funkční větev dvojklikem v seznamu větví. Potom klikněte pravým tlačítkem na main a vyberte Rebase 'New_Feature' na 'main'.

snímek obrazovky s přeuspořádáním větví v sadě Visual Studio

Další informace o slučování, rebasování a obecně o větvení najdete na webu Git v sekci Git Branching.

Kopírování commitů (cherry-pick)

Zkopírujte commity z jedné větve do druhé pomocí možnosti cherry-pick. Na rozdíl od sloučení nebo přepsání historie přináší cherry-picking pouze změny z vámi vybraných commitů, místo všech změn ve větvi. Výběr třešní je skvělý způsob, jak řešit tyto běžné problémy:

  • Náhodné potvrzení v nesprávné větvi. Vyberte a aplikujte změny do správné větve a potom resetujte původní větev na předchozí commit.
  • Vytažení sady potvrzení provedených ve funkční větvi, abyste je mohli co nejdříve sloučit zpět do hlavní větve.
  • Importování konkrétních commitů z hlavní větve bez rebasingu vaší větve.

Pokud chcete zkopírovat změny z potvrzení do aktuální větve pomocí příkazového řádku, použijte následující příkaz:

git cherry-pick 7599e530

Chcete-li udělat to samé v sadě Visual Studio, zobrazte si náhled větve, ze které chcete vybrat commit, tak, že ji vyberete jediným kliknutím. Potom klikněte pravým tlačítkem myši na cílový commit a vyberte Cherry-Pick.

Snímek obrazovky s výběrem konkrétních změn v sadě Visual Studio

Po dokončení operace se v sadě Visual Studio zobrazí zpráva o úspěšném provedení. Kommit, který jste si vybrali, se zobrazí v části Odchozí.

Další informace o potvrzeních výběru třešní najdete na webové stránce Gitu pro příkaz výběru třešně.

Vrácení změn

Pomocí příkazu revert vrátíte zpět změny provedené v potvrzeních odsílaných do sdílených větví. Příkaz revert vytvoří nové potvrzení, které vrátí zpět změny provedené v předchozím potvrzení. Příkaz revert nepřepíše historii úložiště, což umožňuje bezpečné použití při práci s ostatními.

Pokud chcete vrátit změny provedené v potvrzení pomocí příkazového řádku, použijte následující příkazy. Nahraďte vzorek ID skutečným ID commitu ve vaší větvi.

git revert 53333305
git commit

V předchozím příkladu příkazy vrátí zpět změny provedené v potvrzení 53333305 a vytvoří nové potvrzení ve větvi. Původní potvrzení je stále v historii Gitu. Pro provedení stejné akce ve Visual Studio klikněte pravým tlačítkem myši na commit, který chcete vrátit zpět, a pak vyberte Vrátit. Po potvrzení akce a dokončení operace se v sadě Visual Studio zobrazí zpráva o úspěchu a v části Odchozí se zobrazí nové potvrzení.

snímek obrazovky s návratem v sadě Visual Studio

Výběrem nového commitu se ujistěte, že vrátí zpět změny zvráceného commitu.

snímek obrazovky s potvrzením operace vrácení zpět

Položka nabídky Vrátit může být za určitých okolností neaktivní (zakázaná), například pro potvrzení sloučení nebo při spuštění operace Gitu.

Další informace o vrácení změn najdete na webové stránce Gitu pro příkaz revert.

Obnovit větev do předchozího stavu

Pomocí příkazu reset vrátíte větev ve vašem místním úložišti zpět do stavu předchozího potvrzení. Tato akce zahodí všechny změny, ke kterým došlo od okamžiku potvrzení, ke kterému resetujete svou větev.

Varování

Nenulujte sdílené větve, protože můžete odstranit práci jiných lidí. Místo toho použijte příkaz pro vrácení zpět.

Pokud chcete obnovit větev do předchozího stavu pomocí příkazového řádku, použijte následující příkaz. Nahraďte ukázkové ID ID skutečného commitu ve své větvi.

git reset --hard 53333305

Část --hard příkazu Git řekne gitu, aby resetoval soubory do stavu předchozího commit a zahodil všechny fázované změny. Chcete-li to samé provést v sadě Visual Studio, klikněte pravým tlačítkem myši na commit, na který chcete resetovat větev, a pak vyberte Obnovit>Odebrat změny (--hard).

screenshot, který zobrazuje resetování větve ve Visual Studio

Další informace o resetování větví najdete na webové stránce Gitu pro příkaz resetování.