Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Visual Studio 2019 | Visual Studio 2022
Pokud existuje několik přispěvatelů projektu, udržujte místní úložiště Git aktualizované stažením a integrací práce, kterou ostatní nahráli do vzdáleného úložiště projektu. Tyto příkazy Gitu aktualizují místní úložiště:
- Git fetch stáhne všechny nové commity, které ostatní nahráli do vzdáleného repozitáře. Větve vzdáleného sledování v místní mezipaměti úložiště se aktualizují – místní větve zůstanou beze změny.
- Sloučení v Gitu integruje commity z jedné nebo více zdrojových větví do cílové větve.
- Git rebase integruje commity ze zdrojové větve do cílové větve, ale používá jinou strategii než Git merge.
- Git pull provede načtení a následné sloučení nebo převod základů pro integraci načtených commitů do aktuální místní větve.
Visual Studio používá podmnožinu těchto příkazů Git při synchronizaci místního úložiště se vzdáleným úložištěm.
Přehled pracovního postupu Gitu najdete v kurzu Gitu pro Azure Repos.
Tento článek obsahuje postupy pro následující úlohy:
- Stažení změn pomocí načítání dat
- Aktualizujte větve spojením s nebo přebasem s
- Stažení změn a aktualizace větví pomocí pull
Stažení změn načtením
Git načte potvrzení vzdálené větve a odkazované objekty souborů, které neexistují v místním úložišti, a aktualizuje vzdálené sledování větví v místní mezipaměti úložiště. Větve vzdáleně sledované jsou místně uložené kopie vzdálených větví, které slouží pouze pro čtení, a nejde o vaše místní větve. Git fetch neaktualizuje vaše místní pobočky. Pokud má například vzdálené úložiště určené origin větev bugfix3, příkaz Git fetch aktualizuje větev vzdáleného sledování s názvem origin/bugfix3, a nikoli vaši místní větev bugfix3. Větve vzdáleného sledování můžete použít k:
- Porovnejte větev vzdáleného sledování s místní větví a zkontrolujte načtené změny.
- Sloučí větev vzdáleného sledování do místní větve.
- Vytvořte novou místní větev ze vzdáleně sledované větve.
- Visual Studio 2022
- Visual Studio 2019 – nabídka Git
- Visual Studio 2019 – Team Explorer
- Příkazový řádek Gitu
Visual Studio 2022 poskytuje zážitek ze správy 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 kartě Visual Studio 2019 – Team Explorer.
V okně Git Changes zvolte Fetch. Potom výběrem odchozích a příchozích otevřete okno úložiště Git.
V nabídce Git můžete také zvolit načíst.
V okně úložiště Git se načtené commity zobrazí v části Příchozí. Výběrem načteného potvrzení zobrazíte seznam změněných souborů v tomto potvrzení. Výběrem změněného souboru zobrazíte rozdílové zobrazení změněného obsahu.
Návod
'git fetch' neodstraní vzdálené sledovací větve ve vaší místní cache úložiště, které už nemají protějšek na vzdáleném úložišti. Konfigurace sady Visual Studio tak, aby vyřazování zastaralých větví vzdáleného sledování během načtení:
- Vyberte Nástroje>Možnosti>Správa zdrojů>Git Globální nastavení.
- Nastavte možnost vyřazování vzdálených větví během načítání na
True.
Po načtení Gitu můžete porovnat místní větev s odpovídající větví pro vzdálené sledování a zjistit, co se ve vzdálené větvi změnilo. Pokud se rozhodnete aktualizovat aktuální místní větev o načtené změny, můžete provést Git merge nebo rebase. Nebo můžete spustit Git pull, který kombinuje Git fetch s Git merge nebo rebase. Jak Git merge, tak Git rebase aktualizují cílovou větev tím, že na ni aplikují commity ze zdrojové větve. Git merge a Git rebase ale používají různé strategie. Další informace naleznete v tématu Aktualizace větví pomocí sloučení nebo opětovného základu a Kdy provést obnovení vs. sloučení.
Aktualizace větví pomocí sloučení nebo opětovného základu
Git merge a Git rebase integrují commity ze zdrojové větve do vaší aktuální místní větve (cílová větev). Git sloučení provádí buď rychlé sloučení, nebo sloučení bez navýšení. Sloučení bez rychlého sloučení se také označuje jako trojcestné sloučení nebo skutečné sloučení. Dalším typem sloučení je git přebáze. Tyto typy sloučení jsou znázorněny v následujícím diagramu.
Git merge a Git rebase se běžně používají v pracovním postupu Git. Při práci na místní funkci nebo větvi opravy chyb je běžné:
- Udržujte místní
mainvětev aktuální se svým vzdáleným protějškem tím, že pravidelně vyžádáním načíst a sloučit vzdálené potvrzení. - Integrujte aktualizace místních větví
maindo své místní funkční větve pomocí rebazování nebo sloučení. - Zálohujte svoji práci na místní větvi funkcí nasdílením do odpovídající vzdálené větve.
- Po dokončení vlastnosti vytvořte pull request pro sloučení vaší vzdálené větve vlastnosti do vzdálené větve
main.
Tento přístup vám pomůže:
- Mějte přehled o nedávné práci ostatních, které by mohly ovlivnit vaši práci.
- Okamžitě vyřešte všechny konflikty mezi vaší prací a ostatními.
- Aplikujte svou novou funkci na obsah projektu up-to-date.
- Získejte kontrolu pull requestu vaší práce.
Sloučit
Při sloučení v Gitu, pokud se konec cílové větve nachází ve zdrojové větvi, bude výchozím typem sloučení sloučení rychlé. V opačném případě bude výchozí typ sloučení bez rychlého přeposlání.
Rychlé posunutí vpřed u Gitu nemůže mít nikdy konflikt sloučení, protože Git nepoužije rychlé posunutí vpřed, pokud se špička cílové větve rozbíhá od zdrojové větve. Git ve výchozím nastavení používá rychlé sloučení, kdykoli je to možné. Git například použije rychlé připojení na místní větev, kterou aktualizujete stažením z její vzdálené odpovídající větvě.
bez rychlého přeposlání sloučení Gitu vygeneruje novou cílovou větev "potvrzení sloučení", která integruje změny zdrojové větve se změnami cílové větve. Platné změny jsou ty změny, které byly provedeny po posledním commitu, který je společný pro obě větve. V předchozím diagramu je potvrzení C posledním společným potvrzením v obou větvích. Pokud jakákoli změna zdrojové větve koliduje s jakoukoli změnou cílové větve, Git vás vyzve k vyřešení konfliktu při slučování. Potvrzení sloučení (L) obsahuje integrované zdrojové větve a změny cílové větve. Špičky zdrojové a cílové větve (K a E) jsou rodiče sloučovacího commitu. Ve větvi v historii potvrzeníje slučovací potvrzení užitečnou značkou pro operaci sloučení a zřetelně ukazuje, které větve byly sloučeny.
Sloučení Git změní jenom cílovou větev – zdrojová větev zůstane beze změny. Když narazíte na jeden nebo více konfliktů při sloučení, musíte je vyřešit, aby se sloučení dokončilo. Nebo můžete operaci sloučení zrušit a vrátit cílovou větev do předchozího stavu.
Další informace o možnostech a strategiích sloučení najdete v referenční příručce Git a strategiích sloučení Git .
Návod
Pokud je zdrojovou větví vzdáleně sledovaná větev, ujistěte se, že větev je up-to-date spuštěním příkazu git fetch před sloučením.
- Visual Studio 2022
- Visual Studio 2019 – nabídka Git
- Visual Studio 2019 – Team Explorer
- Příkazový řádek Gitu
V řádku nabídek zvolte Git > Spravovat větve, aby se otevřelo okno úložiště Git.
V okně úložiště Git klikněte pravým tlačítkem na cílovou větev a vyberte Pokladna .
Klikněte pravým tlačítkem na zdrojovou větev a vyberte možnost Sloučení <zdrojové větve> do cílové větve <>.
Visual Studio zobrazí potvrzovací zprávu po úspěšném sloučení.
Pokud se sloučení zastaví kvůli konfliktům při slučování, Sada Visual Studio vás upozorní. Konflikty můžete vyřešit nebo zrušit sloučení a vrátit se do stavu před sloučením.
Změna základny
Git rebase přeorganizuje historii potvrzení cílové větve tak, aby obsahuje všechna potvrzení zdrojové větve, následovaná všemi potvrzeními cílové větve od posledního společného potvrzení. Dalším způsobem, jak ji zobrazit, je, že rebase Gitu přehrává změny v cílové větvi nad historií zdrojové větve. Pokud jakákoli změna zdrojové větve koliduje s jakoukoli změnou cílové větve, Git vás vyzve k vyřešení konfliktu při slučování. Git rebase nevytvoří potvrzení sloučení. Je třeba poznamenat, že Git rebase mění sekvenci existujících commitů cílové větve, což není případ ostatních strategií sloučení. V předchozím diagramuobsahuje potvrzení K stejné změny jako K, ale má nové ID potvrzení, protože odkazuje zpět na potvrzení E místo C.
Git změní pouze cílovou větev – zdrojová větev zůstane beze změny. Když narazíte na jeden nebo více konfliktů při sloučení, musíte je vyřešit, aby se dokončila změna základu. Můžete také operaci rebase zrušit a vrátit cílovou větev na předchozí stav.
Pokud jste jedinou osobou, která pracuje na funkci nebo větvi opravy chyb, zvažte použití git rebase k integraci nových potvrzení z větve main. V opačném případě použijte Git merge. Další informace o rebase v Gitu a kdy jej použít najdete v tématu Uplatnění změn pomocí rebase a Rebase vs. sloučení.
Návod
Pokud je zdrojovou větví větev pro vzdálené sledování, ujistěte se, že je větev up-toaktuální spuštěním příkazu Git fetch před provedením rebase.
- Visual Studio 2022
- Visual Studio 2019 – nabídka Git
- Visual Studio 2019 – Team Explorer
- Příkazový řádek Gitu
Zvolte Git > Správa větví pro otevření okna úložiště Git.
V okně úložiště Git klikněte pravým tlačítkem na cílovou větev a vyberte Pokladna .
Klikněte pravým tlačítkem na zdrojovou větev a vyberte možnost Rebase <cílová větev> na <zdrojovou větev>.
Visual Studio zobrazí potvrzovací zprávu po úspěšném obnovení základu.
Pokud dojde k zastavení rebase kvůli slučovacím konfliktům, Visual Studio vás upozorní. Konflikty můžete vyřešit, nebo zrušit rebase a vrátit se do stavu před rebasováním.
Stažení změn a aktualizace větví pomocí příkazu pull
Ve výchozím nastavení git pull kombinuje git fetch a git merge pro aktualizaci vaší aktuální místní větve z jejího vzdáleného protějšku. Může-li git pull provést rebase, nabídne tuto možnost místo sloučení.
Na rozdíl od Git fetch aktualizuje Git pull vaši aktuální místní větev okamžitě po stažení nových potvrzení ze vzdáleného úložiště. Použijte Git pull, když víte, že chcete aktualizovat aktuální místní větev hned po příkazu Git fetch.
Návod
Konfigurace opětovného základu sady Visual Studio místo sloučení při vyžádané replikace:
- V nabídce Git přejděte na Nástroje>Možnosti>správy zdrojového kódu>globální nastavení Gitu.
- Nastavení místní větve Rebase při vyžádání možnost
True.
- Visual Studio 2022
- Visual Studio 2019 – nabídka Git
- Visual Studio 2019 – Team Explorer
- Příkazový řádek Gitu
V okně Git Changes zvolte Pull.
V nabídce Git můžete také zvolit vyžádat.
Po dokončení operace pull se zobrazí potvrzovací zpráva.
Pokud během slučovací části pull operace dojde ke konfliktům, Visual Studio vás na ně upozorní. Konflikty můžete vyřešit nebo zrušit sloučení a vrátit se do stavu před sloučením.
Poznámka:
V sadě Visual Studio Sync provede nejprve Pull, pak Push k synchronizaci místní a vzdálené větve. Další informace o Syncnajdete v tématu Použití příkazů git fetch, pull, push a sync pro správu verzí v aplikaci Visual Studio.