Git: upravení commitu před pushem

Git: upravení commitu před pushem
« 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
« Poslední změna: 16. 12. 2012, 12:54:48 od Petr Krčmář »


poiu

Re:Git - jak upravit lokální cimmity pred pushem
« Odpověď #1 kdy: 16. 12. 2012, 02:27:30 »
Vetvi zmazes klasicky pomocou
Kód: [Vybrat]
git branch -dresp. s velkym D, ak este nie su mergnute a chces ich aj tak zmazat.

Na ostatne odporucam
Kód: [Vybrat]
git rebase -iTym sa daju commity pekne preusporiadat, niektore zrusit atd.

Re:Git - jak upravit lokální cimmity pred pushem
« Odpověď #2 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:
Kód: [Vybrat]
[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.

podlesh

Re:Git - jak upravit lokální cimmity pred pushem
« Odpověď #3 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

Kód: [Vybrat]
[push]
default = tracking

podlesh

Re:Git - jak upravit lokální cimmity pred pushem
« Odpověď #4 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 :

Kód: [Vybrat]
git push -u origin vetev

Případně pokud se nemají jmenovat stejně:
Kód: [Vybrat]
git push -u origin localni_vetev:vzdalena_vetev


Re:Git - jak upravit lokální cimmity pred pushem
« Odpověď #5 kdy: 16. 12. 2012, 10:57:45 »
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á:

Kód: [Vybrat]
# 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

nou

Re:Git - jak upravit lokální cimmity pred pushem
« Odpověď #6 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.

Re:Git - jak upravit lokální cimmity pred pushem
« Odpověď #7 kdy: 16. 12. 2012, 12:30:25 »
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.