Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: pavel plojhar kdy 16. 12. 2012, 00:56:04

Název: Git: upravení commitu před pushem
Přispěvatel: pavel plojhar kdy 16. 12. 2012, 00:56:04
Zdravim.
Mam nasledujici problem:
Vyvyjel jsem projekt ve kterem mam lokalne nekolik vetvi a desitky malych commitu.
Ovsem do hlavniho uloziste bych chtel ulozit pouze 1 vetev a 3 dulezite commity. Dokazal by mi nekdo poradit jak to udelat?
Jak smazu nepotrebne vetve a nepotrebne commity?

Diky
Název: Re:Git - jak upravit lokální cimmity pred pushem
Přispěvatel: poiu kdy 16. 12. 2012, 02:27:30
Vetvi zmazes klasicky pomocou
git branch -d
resp. s velkym D, ak este nie su mergnute a chces ich aj tak zmazat.

Na ostatne odporucam
git rebase -i
Tym sa daju commity pekne preusporiadat, niektore zrusit atd.
Název: Re:Git - jak upravit lokální cimmity pred pushem
Přispěvatel: Mirek Prýmek kdy 16. 12. 2012, 10:33:21
AFAIK se na server nenahrávají všechny lokální větve, ne? Teď si nejsem jistý, jestli se nahrává jenom aktuálně aktivní, nebo všechny, u kterých máš v konfiguráku daný, do jaké větve na serveru se mají nahrávat:

[branch "master"]
   remote = origin
   merge = refs/heads/master

Takže každopádně by šlo vytvořit novou větev, do konfiguráku napsat, s jakou větví na serveru se má mergovat a v ní vytvořit ty commity, který tam chceš mít.

Jestli to jde nějak jednodušeji, to nevím, ale docela o tom pochybuju.
Název: Re:Git - jak upravit lokální cimmity pred pushem
Přispěvatel: podlesh kdy 16. 12. 2012, 10:38:22
Právě že defaultně bohužel git push nahraje všechny lokální větvě. Pěkně pitomý default, dle mého názoru... proto první věcí co po instalaci gitu udělám je přidání tohoto do ~/.gitconfig


[push]
default = tracking

Název: Re:Git - jak upravit lokální cimmity pred pushem
Přispěvatel: podlesh kdy 16. 12. 2012, 10:41:21
Jo a nastavení "tracking" jde výrazně jednodušeji než editací .git/config, je na to přepínač -u :


git push -u origin vetev


Případně pokud se nemají jmenovat stejně:

git push -u origin localni_vetev:vzdalena_vetev

Název: Re:Git - jak upravit lokální cimmity pred pushem
Přispěvatel: Mirek Prýmek kdy 16. 12. 2012, 10:57:45
Citace od: podlesh kdy 16. 12. 2012, 10:38:22
Právě že defaultně bohužel git push nahraje všechny lokální větvě. Pěkně pitomý default, dle mého názoru...
To se mi nějak nezdá:


# git checkout -b test
# echo >> Makefile
# git commit -a -m 'test'
[test 54c6efe] test
1 file changed, 1 insertion(+)
# git push
Everything up-to-date
Název: Re:Git - jak upravit lokální cimmity pred pushem
Přispěvatel: nou kdy 16. 12. 2012, 12:29:01
nie urcite nepushuje tvoje lokalne vetvy ktore si vytvoril a na vzdialenom repozitary nie su. ak upravis vetvy ktore si prebral zo vzdialeneho tak vtedy ano pushnu ich vsetky.
Název: Re:Git - jak upravit lokální cimmity pred pushem
Přispěvatel: Mirek Prýmek kdy 16. 12. 2012, 12:30:25
Citace od: nou kdy 16. 12. 2012, 12:29:01
ak upravis vetvy ktore si prebral zo vzdialeneho tak vtedy ano pushnu ich vsetky.
Aha, ok. Myslel jsem si, že spíš pushuje jenom aktuální. Tak to je fajn, že to vím a nemusím to zkoušet :) Dík.