Byl vydán Mozilla Firefox 126.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vylepšena byla funkce "Zkopírovat odkaz bez sledovacích prvků". Přidána byla podpora zstd (Zstandard). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 126 je již k dispozici také na Flathubu a Snapcraftu.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 11.0. Přehled novinek v aktualizované dokumentaci.
Byla vydána nová verze 24.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Wynsdey. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.
Byla představena oficiální rozšiřující deska Raspberry Pi M.2 HAT+ pro připojování M.2 periferii jako jsou NVMe disky a AI akcelerátory k Raspberry Pi 5. Cena je 12 dolarů.
V Praze o víkendu proběhla bastlířská událost roku - výstava Maker Fair v Praze. I strahovští bastlíři nelenili a bastly ostatních prozkoumali. Přijďte si proto i vy na Virtuální Bastlírnu popovídat, co Vás nejvíce zaujalo a jaké projekty jste si přinesli! Samozřejmě, nejen českou bastlířskou scénou je člověk živ - takže co se stalo ve světě a o čem mohou strahováci něco říct? Smutnou zprávou může být to, že provozovatel Sigfoxu jde do
… více »Kam asi vede IllllIllIIl.llIlI.lI? Zkracovač URL llIlI.lI.
Společnost OpenAI představila svůj nejnovější AI model GPT-4o (o jako omni, tj. vše). Nově také "vidí" a "slyší". Videoukázky na 𝕏 nebo YouTube.
Ondřej Filip publikoval reportáž z ceremonie podpisu kořenové zóny DNS. Zhlédnout lze také jeho nedávnou přednášku Jak se podepisuje kořenová zóna Internetu v rámci cyklu Fyzikální čtvrtky FEL ČVUT.
Společnost BenQ uvádí na trh novou řadu monitorů RD určenou pro programátory. První z nich je RD240Q.
Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem nadále zůstává Frontier od HPE (Cray) s výkonem 1,206 exaFLOPS. Druhá Aurora má oproti loňsku přibližně dvojnásobný počet jader a dvojnásobný výkon: 1,012 exaFLOPS. Novým počítačem v první desítce je na 6. místě Alps. Novým českým počítačem v TOP500 je na 112. místě C24 ve Škoda Auto v Mladé Boleslavi. Ostravská Karolina, GPU
… více »Potřeboval jsem po delším čase přejet nějaké soubory přes svůj skript djvutool
, když tu na mě začala konzole opět pindat, že příkaz tempfile
je deprecated, tak abych místo něj použil mktemp
. Ok. Tak jsem skočil do repozitáře kde ho mám a zjistil, že jsem do něj už v minulosti udělal několik drobných změn, které jsem ale necommitoval. Byly to drobné úpravy, ale vzájmně nesouvisely. Tak jsem je chtěl commitnout samostatně.
Nebylo to poprvé, co jsem někde něco ladil a při tom nadělal víc změn, které by zasluhovaly samostatný commit. Ostatně, víc jsem se o tom rozkecal v blogpostu na téma Počítačová archeologie. Zkrátka jsem se dopálil, že takhle už to dál nejde a obrátil se na Pavla Píšu, který má přeci jenom s gitem víc zkušeností než já.
Zajímalo mne vyloženě konzolové řešení a tak mne překvapilo, že pro commitování takových dílčích změn používá git gui. Nicméně do háje mne neposlal, nýbrž odkázal na stránku Git Tools - Interactive Staging, kde bylo přesně to co jsem hledal.
Jako obvykle, je to stupidně prosté a z mého pohledu dokonce mnohem lepší řešení než přes grafické klikátko. Takže to popíšu jen několika slovy a odkážu na ilustrační screenshot v příloze.
-i
$ git add -i
p
, nebo odentrováním čísla 5
, se spustí příkaz [p]atch, který opět vypíše přehled souborů, ve kterých jsou změny.$ git status On branch master Your branch is ahead of 'github/master' by 15 commits. (use "git push" to publish your local commits) Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: djvutool Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: djvutool Untracked files: (use "git add <file>..." to include in what will be committed) COPYING djvu_foreground_encoding_examples.txt djvuchanges.txt djvutosvg_poznamky.txt historie_djvu_wiki.txt wiki-djvu.txtA teprve pak přišel na řadu commit připravené stage
Tiskni Sdílej:
git stash
(uložení rozpracovaného stavu na zásobník, vrátí se to git stash pop
) a commituji potom.
git commmit -a -m 'WIP'
rebase --autosquash
), akorát si člověk musí dát pozor, aby neopakoval stejnou commit message vícekrát, protože fixup commit se váže na commit message, ne na hash (což mi přijde jako blbý rozhodnutí, ale nic s tim neudělám).
git add -i
je určitě fajn, ale git gui
umožňuje stagovat s vyšší granularitou (jednotlivé řádky).
protože fixup commit se váže na commit message, ne na hash (což mi přijde jako blbý rozhodnutí, ale nic s tim neudělám).Protoze to ma implikace, ze pak musis umet ty fixup commity mit svazane s tim fixovanym, i kdyz udelas treba rebase bez toho autosqashe, atp. A muj tip je, ze kdyz se tim smerem vydas, tak skoncis zpatky ve stavu, ze ktereho si vysel. Ze nejjednodusi (mozna i jedinny) zpusob, jak toho dosahnout, je normalni commit se specialnim jmenem. A trochu se obavam, ze neco podobneho by se ti stalo i s tim zasobnikem, kde by to vlastne bylo to same akorat by to byla fixup vetev.
Protoze to ma implikace, ze pak musis umet ty fixup commity mit svazane s tim fixovanym, i kdyz udelas treba rebase bez toho autosqashe, atp.Rebase by to mohl celkem snadno umět aktualizovat, stejně už IIRC upravuje časový razítko u všech commitů... A u nějakýho jinýho způsobu úpravy historie by to bylo holt na tobě. Ale souhlasim, že to je implementačně/koncepčně složitější...
akorát si člověk musí dát pozor, aby neopakoval stejnou commit message vícekrát
Celý commit message stejný, to je při rozumně napsaných prakticky nemožné, pokud nejde o cherry pick. I úplně stejný subject je na pováženou, pokud je to v jedné sérii.
git add -i
commitnut samostatne len niektore riadky z prveho hunku a asi by bolo treba pouzit git add -e
, co uz zacina byt trochu komplikovane.
Neverim, ze niekto kto pouziva Emacs este o Magite nepocul, ale ak niekto uvazuje Emacs skusit, tak uz len pre ten Magit by som odporucal tomu dat sancu napriklad s niecim ako Doom Emacs.
git add -i
" mi k srdci nepřirostl a i když jsem se mu párkrát snažil dát šanci, "git gui
" je z hlediska uživatelského komfortu úplně jiná liga.
90% času tohle potřebuji řešit na vzdáleném stroji s minimalistickou instalací
Pak je asi na místě otázka, jestli je rozumné ten git spouštět přímo tam. Já jsem třeba poměrně dlouho z lenosti z domova používal git na počítači v práci (včetně "git gui
" přes "ssh -X
") a teprve to, že jsem dočasně musel používat jiný VPN endpoint, a s tím související nárůst latencí mne donutil zařídit si to tak, abych tohle dělat nemusel. S odstupem času je to samozřejmě praktičtější, ale kdyby mne k tomu nedonutily okolnosti, nejspíš bych to tím krkolomným způsobem dělal dodnes.
Situace že by se mi těsně vedle sebe sešly dvě různé věci, tak že by je bylo nutné separovat po řádcích, je pro mne velmi nepravděpodobné.
Mně se to naopak děje docela často. Což ale možná souvisí s…
Důležitý je pro mne commit komplexní změny.
Commit by právě pokud možno moc komplexní být neměl. Naopak, měla by to být co nejmenší změna, která sama o sobě ještě dává smysl. Jak kdysi podotkl jeden maintainer, pokud píšete commit message a chystáte se začít větu slovem "Also", je to obvykle znamení, že byste měl commit rozdělit.
Pak je asi na místě otázka, jestli je rozumné ten git spouštět přímo tam.To teda rozhodně je Je to nejrychlejší způsob, jak zjistit jestli, nebo kdy někde nastala nějaká nežádoucí změna. Často toho využívám při dohledávání změn realizovaných někdy v minulosti.
git add -i
jsem ani neznal. Osobně používám git add -p
(případně i s cestou), který spustí rovnou tu interaktivní "patchovací" část.