Git. The information manager from hell. Robin Obůrka

Podobné dokumenty
PŘIDÁNÍ SOUBORŮ DO OBLASTI PŘIPRAVENÝCH ZMĚN

GIT hands-on. Mgr. Šimon Tóth. 12. dubna () GIT hands-on 12. dubna / 25

Verzovací systémy. Pořádek především!

Evoluce deploye Od FTP po automatický deploy

Vladimír

Obecné informace o cvičeních

Git. Milan Rybář

Java/QE Akademie - Osnova

SCM = Source Code Management software, základní typologie rozdělení je podle počtu a umístění základního úložiště kódu(=repository) na:

Příloha 6. Palety nástrojů

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

Pro Git. Edice CZ.NIC

Tipy a triky nejenom v shellu nejenom pro programátory

Základní datové struktury

Základy programování (IZP)

9. Archivace a verzování svn

O2 Managed Backup & Restore Power

Základy programování (IZP)

VCS CVS - Concurrent Version System SVN - Subversion Distribuované verzovací systémy DVCS Verzování. Základní pojmy verzování souborů

Strukturu lze funkci předat: (pole[i])+j. switch(výraz) velikost ukazatele

Základní příkazy pro práci se soubory

Workflow sdíleného projektu ve VisualParadigm

Přehled témat. Základní pojmy

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Operační systémy. Cvičení 3: Programování v C pod Unixem

Git aneb správa verzí trochu jinak

1 Nástroje pro správu verzí. 1.1 Pojmy:

Úvod do verzovacích systémů

Správa verzí souborů na cvičení

Úvod do programovacích jazyků (Java)

Subversion. Jakub Vlček

Základní pojmy verzování souborů. SVN - Subversion vybrané pokročilé vlastnosti. Správce verzí. Repositár

Téma 4: Práce s CentOS. Instalace softwarových balíčků pomocí yum

PROGRAMOVÁNÍ V C++ CVIČENÍ

Nápověda k aplikaci EA Script Engine

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth

LINUX SOUBORY. Zadejme příkaz ls l! V této lekci se odrazíme od dlouhého výpisu příkazu ls a uvidíme, kam nás to zanese. SPŠ Teplice - 3.

Knot DNS workshop. CZ.NIC Labs Daniel Salzman / daniel.salzman@nic.cz Jan Kadlec / jan.kadlec@nic.cz

Manuál pro mobilní aplikaci. Patron-Pro

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

1 Webový server, instalace PHP a MySQL 13

Základní popis Toolboxu MPSV nástroje

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Základy programování (IZP)

IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí

Práce se soubory. Úvod do programování 2 Tomáš Kühr

v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

Školící dokumentace administrátorů IS KRIZKOM (úroveň ÚSÚ) role ( administrátor )

Linux-příkazový řádek

2.2 Acronis True Image 19

Práce s binárními soubory. Základy programování 2 Tomáš Kühr

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Uživatelská příručka

Základní příkazy UNIXu (Linuxu)

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ. Metodika verzií zdrojového kódu

Školící dokumentace administrátorů IS KRIZKOM (úroveň KRAJ) (role manager, administrátor )

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy

x86 assembler and inline assembler in GCC

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

Šablonovací systém htmltmpl vypracoval: Michal Vajbar, Šablonovací systém htmltmpl

Operační systémy. Cvičení 4: Programování v C pod Unixem

<surface name="pozadi" file="obrazky/pozadi/pozadi.png"/> ****************************************************************************

Práce s knihovnami. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

dostat zdroják Petr Zemek Fakulta informačních technologií VUT v Brně izemek

Vypracoval: Antonín Krumnikl Mob.: Tel.:

Základy HTML. Autor: Palito

Praktické zkušenosti s Azure DevOps

Profesionální služby kolem Linuxu

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

Základy programování (IZP)

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 26.3.

Dynamické datové struktury III.

Doxygen. Jakub Břečka

VLSM Statické směrování

Práce se soubory. Základy programování 2 Tomáš Kühr

Úloha 3 editor a skripty. připojte se vzdáleně na dray6.feld.cvut.cz heslo získáte na adrese

Vstupní požadavky, doporučení a metodické pokyny

Cvičení 2. Přesměrování vstupu a výstupu. Posloupnost příkazů. Příkazy pro informaci o uživatelích

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Střední odborná škola a Střední odborné učiliště, Hořovice

ABC Linux běží z CD české prostředí tištěná příručka obsah portálu Mutt Jak začít? Jan Fuchs

HELIOS - Zálohování BüroKomplet, s.r.o.

Administrační rozhraní Drupalu

Databáze Firebird. Zálohování, obnovení. Roman Fic 1/29/14 Databáze

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Radek Krej í. NETCONF a YANG NETCONF. 29. listopadu 2014 Praha, IT 14.2

Přednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8

Práce se systémem Subversion (SVN)

Úvod do Operačních Systémů

Základy programování (IZP)

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

Vzdálenost uzlů v neorientovaném grafu

Konstruktory a destruktory

Nemocnice. Prvotní analýza a plán projektu

Snadná úprava stránek, nemusím umět HTML, tvořím obsah téměř jako ve Wordu. Jak změnit obsah nástěnky: vpravo nahoře Nastavení zobrazených informací

Transkript:

Git The information manager from hell Robin Obůrka robin.oburka@nic.cz

Obsah Obsah 1 Úvod 2 Příprava prostředí 3 Lokální práce 4 Vzdálená práce R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 1 / 44

Úvod 1 Úvod do verzovacích systémů do Gitu R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 2 / 44

Úvod do verzovacích systémů VCS obecně VCS = Version Control System, Systém pro správu verzí Verzování: způsob uchovávání historie veškerých provedených změn. Umožňuje vrátit se: v historii, pokud je něco špatně k zavrženým nápadům Obecně umožňuje jednoduše spolupracovat v týmech: nejčastěji dochází ke korektnímu slévání změn případné kolize jsou detekované a uživatel je na ně upozorněn Přirozený způsob zálohování práce Základní jednotkou verzování je revize = commit. R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 3 / 44

Úvod do verzovacích systémů VCS obecně Commit Commit: jednotlivý, logický celek práce. Dobrý commit: obsahuje jednotlivou, logickou část práce oprava konkrétní chyby jedna nová vlastnost programu funkcionalita, která nejde logicky rozdělit obsahuje logickou a srozumitelnou zprávu typicky v angličtině ve smluveném formátu je správně umístěn v posloupnosti verzí v optimálním případě transformuje projekt mezi funkčními verzemi ne vždy je to reálné např. počátek vývoje nového projektu usnadňuje hledání kódu, který zanesl chybu R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 4 / 44

Úvod do Gitu Historie Počátek v roce 2005 Linus Torvalds I m an egotistical bastard, and I name all my projects after myself. First Linux, now git. Napsán pro potřeby linuxového jádra R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 5 / 44

Úvod do Gitu Historie První commit DVCS Git commit e83c5163316f89bfbde7d9ab23ca2e25604af290 Author: Linus Torvalds <torvalds@ppc970.osdl.org> Date: Thu Apr 7 15:13:13 2005-0700 Initial revision of "git", the information manager from hell R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 6 / 44

Příprava prostředí 2 Příprava prostředí Získání Gitu Konfigurace Gitu R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 7 / 44

Příprava prostředí Získání Gitu Získání Gitu Linux: [apt-get yum zypper] install git Ostatní: http://git-scm.com/downloads Zdrojové kódy: https://www.kernel.org/pub/software/scm/git R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 8 / 44

Příprava prostředí Konfigurace Gitu Základní konfigurace Konfigurační soubor uživatele ($HOME/.gitconfig): Nastavení uživatele git config --global user.name "John Doe" git config --global user.email johndoe@example.com Povolení obarvení výstupu Gitu (od verze 1.8.4 automaticky) git config --global color.ui auto Chování příkazu push git config --global push.default simple Nastavení editoru git config --global core.editor vim R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 9 / 44

Příprava prostředí Konfigurace Gitu Základní konfigurace Aliasy git config --global alias.st status git config --global alias.ci commit git config --global alias.co checkout git config --global alias.br branch... Přehledný výpis historie git config --global alias.ll log --oneline --graph --all --decorate Globální gitignore git config --global core.excludesfile ~/.gitignore R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 10 / 44

Příprava prostředí Konfigurace Gitu.gitignore Textový soubor, ve kterém je na každém řádku přes masku udáno, co má Git ignorovat. Soubor může být: Globální, definovaný v konfiguraci V každém repozitáři samostatně; obyčejný soubor s názvem.gitignore, který se verzuje společně s projektem Podobné jako v Bashi, ale: / na začátku platí od kořene pracovní složky repozitáře / na konci uvažuje jen složky * funguje, ** má speciální význam! na začátku negace # na začátku komentář \ je escape znak R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 11 / 44

3 Lokální práce Úvod Vytváření a procházení revizí Práce s větvemi Oprava omylů Pokročilá příprava revizí R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 12 / 44

Úvod Vnitřní implementace Drobný pohled na vnitřní implementaci: Revize značeny pomocí SHA1 hashe Revize organizovány jako orientovaný graf Každá revize má jednoho nebo více rodičů Větve jsou ukazatelé na revize Máme symbolickou referenci HEAD aktuální pozice R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 13 / 44

Úvod 3 pracovní oblasti Git má 3 pracovní oblasti: 1 Working directory 2 Staging area 3 Repozitář R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 14 / 44

Vytváření a procházení revizí Vytvoření lokálního repozitáře Inicializace prázdného repozitáře git init [DIRECTORY] R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 15 / 44

Vytváření a procházení revizí Zjištění stavu pracovních oblastí Jak na tom jsme? Přehled o stavu pracovních oblastí git status Změny v pracovním adresáři git diff Změny připravené k zapsání git diff --cached R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 16 / 44

Vytváření a procházení revizí Vytvoření revize Přidání souboru / změn do staging area git add PATH Zápis revize git commit Prohlédnutí revize git show [REV] 1 První možnost opravy omylu: git commit --amend git commit --amend --no-edit git commit --amend --reset-author 1 Výchozí hodnota je HEAD R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 17 / 44

Vytváření a procházení revizí Změny ve FS Příkazy pro změny FS git mv SRC PATH DST PATH git rm PATH git rm --cached PATH Tyto příkazy zároveň přidají do staging area. Funkční jsou i postupy: 1 mv OLD NEW 2 git add NEW 3 git rm OLD 1 rm PATH 2 git rm PATH ale jsou méně intuitivní a pracnější... R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 18 / 44

Vytváření a procházení revizí Procházení historie Příkaz pro procházení historie git log Zajímavé varianty: git log --oneline git log --oneline --graph git log --decorate git log -p git log PATH git log [-i] --grep PATTERN git log --author=mail@domain.tld git log --pretty=fmtstr (%ae, %an..., changelogy, statistiky) git log -n INT git log --since=date (také: --after, --until, --before) git blame R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 19 / 44

Vytváření a procházení revizí Srovnávání verzí Příkaz pro srovnání verzí git diff Zajímavé varianty: git diff REV REV git diff REV..REV git diff REV REV PATH git diff PATH1 PATH2 2 Již znáte: git diff --cached 2 PATH1: soubor v repozitáři; PATH2: soubor na disku R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 20 / 44

Vytváření a procházení revizí Označení revizí (REV) Absolutně Hash (typicky stačí prvních 6 hexa znaků) Název větve / štítku Místo do kterého jsme naposledy přepnuli HEAD Relativně (vůči čemukoliv z předchozího) REVˆ o jedna před REV REVˆˆ o dvě před REV REVˆˆˆ o tři před REV REV NUM o NUM před REV Lze kombinovat: REVˆˆ 2ˆ R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 21 / 44

Práce s větvemi Git a větve Větve Nic nestojí (jednotky KB) Větvěte často! Základem spousty workflows Feature branch Debug / Hotfix Integrační větve Vždy existuje minimálně jedna větev! Implicitně větev master Teoreticky se může jmenovat libovolně a větev master nemusí vůbec existovat Je žádoucí dodržovat konvence R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 22 / 44

Práce s větvemi Základy práce s větvemi Vytváření větví Vytvoření nové větve git branch NAME [REV] Pokud nebudeme specifikovat REV, tak se použije HEAD. Názvy větví je možné i prefixovat. Vylistování existujících větví git branch [-v] R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 23 / 44

Práce s větvemi Základy práce s větvemi Přepínání větví Přepnutí do větve git checkout NAME Checkout obecně: Aktualizuje soubory v pracovním adresáři tak, aby odpovídaly dané revizi Příkaz git checkout git checkout (REV NAME) [PATH] Často používaná alternativa: Vytvoření nové větve včetně checkoutu do ní git checkout -b NAME [REV] R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 24 / 44

Práce s větvemi Základy práce s větvemi Mazání větví Příkaz pro smazání větve git branch -d NAME Nelze mazat aktuální větev Nelze mazat větev s nezahrnutými změnami (ale lze vynutit) Které větve mohu smazat? git branch --merged git branch --no-merged Příkaz pro přejmenování větve git branch -m [OLDNAME] NEWNAME R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 25 / 44

Práce s větvemi Slévání změn Počáteční verze #include <stdio.h> int main(int argc, char **argv) { char *str = "World"; } printf("hello, %s!\n", str); return 0; R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 26 / 44

Práce s větvemi Slévání změn Úpravy vývojáře Mr. Blue #include <stdio.h> void print_hello(char *str) { printf("hello, %s!\n", str); } int main(int argc, char **argv) { char *str = "World"; } print_hello(str); return 0; R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 27 / 44

Práce s větvemi Slévání změn Úpravy vývojáře Mr. Red #include <stdio.h> int main(int argc, char **argv) { char *str = "World"; if (argc == 2) { str = argv[1]; } } printf("hello, %s!\n", str); return 0; R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 28 / 44

Práce s větvemi Slévání změn Stav po slití změn od obou vývojářů #include <stdio.h> void print_hello(char *str) { printf("hello, %s!\n", str); } int main(int argc, char **argv) { char *str = "World"; if (argc == 2) { str = argv[1]; } } print_hello(str); return 0; R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 29 / 44

Práce s větvemi Merge větví Příkaz pro merge větví git merge NAME Provede merge větve NAME k aktuální větvi Existují 3 možné průběhy operace merge: 1 FF (Přetočení vpřed) 2 Automatický merge bez kolizí 3 Automatický merge s kolizí Elegantní alternativou k příkazu git merge je git rebase... R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 30 / 44

Práce s větvemi Reset Odebrání ze stage area git reset HEAD PATH Provedené změny vrátí zpět do working directory. Změna ukazatele větve git reset --hard REV Změní ukazatel větve na revizi REV a vrátí working directory do této revize. Změna ukazatele se zachováním změn git reset --soft REV Změní ukazatel větve na revizi REV a všechny změny vrátí do stage area. R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 31 / 44

Práce s větvemi Tagy Prosté značky git tag NAME [REV] Pokud nebudeme specifikovat REV, tak se použije HEAD Implementačně se jedná o větev, která se nepohybuje Do vzdáleného repozitáře se nedostanou automaticky (git push origin --tags) Anotované značky git tag -a NAME [REV] Podepsané značky (vytvoření a verifikace) git tag -s NAME [REV] git tag -v NAME R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 32 / 44

Oprava omylů Oprava omylů Zahození lokálních změn git checkout -- PATH Nevratná operace! pro zbrklé: v IDE/editoru se hodí vypnout automatické načítání změn z disku ;-) Zahození reference, indexu,... git reset (viz dříve) Úprava posledního commitu git commit --amend R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 33 / 44

Oprava omylů Oprava omylů Modelové situace V commitu nějaká změna chybí git add... git commit --amend V commitu nějaká změna přebývá Chci rozdělit commit na dva samostatné git reset --soft HEAD^ git reset HEAD PATH git add...; git commit git add...; git commit R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 34 / 44

Pokročilá příprava revizí Pokročilá příprava revizí Velmi důležité aby nás verzování neobtěžovalo Nemusím myslet na to, jak svoji práci budu dělit do commitů, ale v klidu pracovat Nemusím dělat špatné commity, jen proto, že jsem se chtěl soustředit na práci Editace patche v editoru git add -e [PATH] Veškerou práci zobrazí jako patch v editoru Interaktivní přidání patche git add -p [PATH] Postupně ukazuje změněné kusy kódu a umožňuje je zahrnout, odmítnout, editovat, dále rozdělit... R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 35 / 44

Pokročilá příprava revizí Pokročilá příprava revizí Pomocí editace patche je možné rozdělit i logicky různé změny na jednom řádku do více commitů (např. změna obsahu řádku a změna stylu řádku). Do stage area se dá chytře nejen přidávat, ale i z ní odebírat: Interaktivní odebrání ze stage area git reset -p [PATH] Stejnou metodu můžeme aplikovat na zahození lokálních změn: Interaktivní zahození lokálních změn git checkout -p [PATH] Pozor: opět se jedná o nevratnou operaci. R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 36 / 44

Vzdálená práce 4 Vzdálená práce Příprava Základy R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 37 / 44

Vzdálená práce Příprava Vzdálený repozitář Kde vzít vzdálený repozitář: Hostované repozitáře Cizí poskytovatel: github.com, bitbucket.org Nějaká vám bĺızká organizace: gitlab.fit.cvut.cz Vlastní server R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 38 / 44

Vzdálená práce Příprava Trocha teorie Vzdálený repozitář je tzv. remote Speciální roli má remote s názvem origin Origin je výchozí repozitář pro mnoho operací (pull, push, fetch) Jako origin je automaticky označený remote, ze kterého jsme klonovali R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 39 / 44

Vzdálená práce Příprava Clone Naklonování vzáleného repozitáře git clone [OPTIONS] URL [DIRECTORY] R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 40 / 44

Vzdálená práce Základy Jak příkaz funguje: Odešle vaše změny na remote Výchozí remote je origin Výchozí (lokální) větev je ta aktuální Výchozí mapování local:remote je podle shodného jména Parametr [-u] nastavuje upstream větve Co to znamená: git push odešle změny z aktuální větve na origin git push -u odešle změny z aktuální větve na origin a nastaví upstream pro aktuální větev na origin (Až od verze 2. Jinak git push -u REMOTE BRANCH.) git push production master:deploy odešle změny na production do větve deploy, která odpovídá aktuální větvi master R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 41 / 44 Push Plné znění příkazu git push git push [OPTIONS] [-u] [REMOTE [BRANCH[:REMOTE BRANCH]]]]

Vzdálená práce Základy Pull Plné znění příkazu git pull git pull [OPTIONS] [REMOTE [REV]] Jak příkaz pracuje: Vyzvedává vzdálené změny (git fetch) Provádí merge lokální a odpovídající vzdálené větve Většina voleb odpovídá volbám příkazu git merge R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 42 / 44

Vzdálená práce Základy Publikování existujícího obsahu Přidání existujícího remote git remote add NAME URL Publikování existujícího obsahu git remote add origin URL git push -u origin master:master R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 43 / 44

Vzdálená práce Základy Vzdálené větve Vytvoření vzdálené větve git push -u REMOTE BRANCH Zobrazení vzdálených větví git branch -r Příkaz git branch ukazuje pouze lokální větve. Vzdálené je nejprve nutné začít trackovat. Lokální (trackované) větve zůstávají i když je vzdálená větev smazaná. Prořezání smazaných větví git remote prune REMOTE Smazání vzdálené větve R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 44 / 44

Vzdálená práce Základy Vzdálené větve Vytvoření vzdálené větve git push -u REMOTE BRANCH Zobrazení vzdálených větví git branch -r Příkaz git branch ukazuje pouze lokální větve. Vzdálené je nejprve nutné začít trackovat. Lokální (trackované) větve zůstávají i když je vzdálená větev smazaná. Prořezání smazaných větví git remote prune REMOTE Smazání vzdálené větve git push REMOTE :BRANCH R. Obůrka, P. Pulc (CZ.NIC, FIT ČVUT) Git 44 / 44

Děkuji za pozornost Robin Obůrka robin.oburka@nic.cz