Open karel-brinda opened 9 years ago
Taky chybí v obou od Elvise.
Chybi protoze je to klasicka bluezova 12ctka. Nas tam akordy jenom pletly. To me privadi k dotazu - slo by naopak sazet neco (v tomto pripade akordy) pokud to nebude TPBAND?
Tu bohyni asi odstranim, protoze ji mozna nebudeme vubec hrat. Na muzice se porad aktivne maka.
@jhajas: Jde udělat dvě alternativy pro TPBAND a mimo:
\ifdefined\TPBAND
(pro band)
\else
(jinak)
\fi
Na vynechání celé nějaké části, pokud se jedná o TPBAND zpěvník: \unless\ifdefined\TPBAND ... \fi
nebo \ifdefined\TPBAND\else ... \fi
.
Uplne si nejsem jisty jak se to sem prida, ale akordy k tem Elvisum a Dej mi nejaky tony jsem pridal a pushnul v ramci tpband branch.
Několik poznámek:
tpband
takový prazvláštní mišmaš, který do sebe zapustil několik větví, které zatím do master vůbec jít nemají (např. noty, apod.).Správný postup je následující:
Já pak jako správce repozitáře pak vždycky zkontroluju všechny změny zdrojáky, ověřím testy, atd. A zařadím větev do master.
Prošel jsem rozdíly. Nevím, jestli jsme tomu správně porozuměl, ale jsou tam 2 nezávislé úpravy:
A potom
Každá z těch prvních dvou úprav by měla být udělaná jako nezávislý patch pro master (pomocí samostatné větve odvozené z master).
Dobre, na ty 3 pisnicky udelam novou vetev.
Jak ale resit situaci kdy chci buildnout zpevnik s featurama ktere jsou v nekolika vetvich a jeste nejsou zamergovane do master? A jeste hur, co kdyz v takove situaci zaroven potrebuju pridat jednu nebo dve nove pisnicky. Mimochodem tohle je naprosto realna situace, se kterou se setkavam alespon jednou do tydne...
Udržuj si vlastní soukromou větev, do které budeš průběžně zanášet updaty z masteru (a na kterou nebudeš dělat pull request). Nové pro nové písničky dělej nové větve vůči master, které si můžeš také zanášet do těch svých. Pokud jsou písně zpracovány správně (t.j. žádné problémy ohledně formátování, apod.), tak je zanáším do master okamžitě. Mezi větvemi se dá strašně lehce přepínat pomocí git checkout
.
@jhajas Potýkal jsem se přesně se stejnou otázkou, tak se rád podělím o to, na co jsem po hromadě nadávání a marných pokusů přišel.
Udržuji si u sebe větev master, kterou vždycky dorovnávám s Karlem:
git checkout master
git pull origin master
Když chci na něčem pracovat, třeba přidávat písničky:
git checkout master
git checkout -b vasek-pisnicky (tohle vytvoří novou větev, která v tu chvíli bude totožná s master)
(...moje úpravy...)
git commit -am "text commitu"
git push origin vasek-pisnicky
Když chci mezitím pracovat na něčem jiném, třeba na notách, mezi větvemi lze libovolně přepínat (skutečný obsah souborů se při každém checkout
automaticky přizpůsobuje):
git checkout master (= vrátit všechno do původního stavu, moje úpravy jsou teď v bezpečí schované ve vasek-pisnicky)
git checkout -b vasek-noty (vytvořit novou větev)
(...moje úpravy...)
git commit -am "text commitu"
git push origin vasek-noty
Když teď chci zpátky do vasek-pisnicky
:
git checkout vasek-pisnicky (vrátit se k jiné existující větvi)
(úpravy z vasek-noty jsou zase pryč, ale to nevadí, můžu zase přepnout tam)
(...další úpravy písniček...)
Když chci mít vlastní větev, ve které je všechno:
git checkout vasek (nebo checkout -b vasek, pokud ji teprve chci vyrobit)
git merge vasek-pisnicky
git merge vasek-noty
git merge origin/master
Takhle když úpravy podle toho, čeho se týkají, nechávám v jejich tématických větvích, je v tom docela pořádek. Větev vasek
by teď pro moje účely obsahovala všechno, co jsem zatím udělal, a ještě něco, co se třeba mezitím objevilo nového v master
. Tu bych na github
nikdy neposílal, nikdo ji vidět nepotřebuje. Taky bych v ní nedělal nic nového, jen spojování věcí odjinud. Větve vasek-pisnicky
a vasek-noty
by byly založené na master
(klidně jeho starší verzi, to ničemu nevadí) a nezávisle na sobě obsahovaly jen ty relevantní úpravy a nic jiného. Maximálně v nich můžu dávat
git merge origin/master
aby nebyly oproti master
moc pozadu a abych mohl používat, co se mezitím přijalo, ale i když to dělat nebudu, moc to nevadí, pořád jsou založené na master
, jen na jeho starší verzi.
Doufám, že to pomůže!
Tady je návod, když jsi v situaci, kdy chceš svoje úpravy rozdělit na různá témata a nechce se ti klonovat všechno znova a dělat všechno nanovo. Dejme tomu, že máš větev josef
, ve které jsou nové písničky TPBandu, úpravy k existujícím písničkám a nějaké úpravy z jiných větví, co s písničkami nesouvisí.
git checkout master
(vrátit všechno do synchronizace s master
)git checkout -b josef-pisnicky
(vytvoří novou větev jen pro úpravy písniček)git diff --name-only josef
(vypíše soubory, co se změnily nebo přidaly)git diff josef tp-songs/01_folk/Moje____písnička.tex
(vypíše pro kontrolu úpravy provedené v písničce)git checkout josef -- tp-songs/01_folk/Moje____písnička.tex
(vezme písničku z verze josef
do naší nové větve)
(pozn.: i když poslední příkaz je checkout, nezmění větev, ta je pořád josef-pisnicky
)git diff --name-only josef
(to by teď mělo vypsat jen ty ostatní soubory, co nás nezajímají)git status
(tohle ukáže všechny novinky, co půjdou do josef-pisnicky
)git commit -m "Úpravy písniček"
git push origin josef-pisnicky
Tohle by šlo třeba udělat zvlášť pro nové věci a zvlášť pro akordy a vyrobit dvě větve. Nebo to nechat jako jednu.
Je to víc příkazů, než je potřeba, ale to jen proto, že spousta z nich je pro kontrolu, co se kolem děje, a že to je v pořádku.
Jmenovitě se to týká:
@jhajas Mohl bys je, prosím, doplnit?