David Larlet 3 роки тому
джерело
коміт
08a171e83a

+ 2
- 2
david/2021/11/24/index.html Переглянути файл

@@ -63,7 +63,7 @@
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a>
• <a rel="next" href="/david/2021/11/25/" title="Publication suivante : Git">Suivant →</a>
</p>
</nav>
<hr>
@@ -102,7 +102,7 @@
<p class="center">
<a rel="prev" href="/david/2021/11/23/" title="Publication précédente : Horaires">← Précédent</a> •
<a href="/david/2021/" title="Liste des publications récentes">↑ En 2021</a>
• <a rel="next" href="/david/2021/11/25/" title="Publication suivante : Git">Suivant →</a>
</p>
</nav>
</article>

+ 185
- 0
david/2021/11/25/index.html Переглянути файл

@@ -0,0 +1,185 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="fr">
<!-- Has to be within the first 1024 bytes, hence before the `title` element
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
<meta charset="utf-8">
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
<!-- The viewport meta is quite crowded and we are responsible for that.
See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Required to make a valid HTML5 document. -->
<title>Git — David Larlet</title>
<meta name="description" content="Rant time: You’ve heard it before, git is powerful, but what good is that power when everything is so damn hard to do? Interactive rebasing requires you to edit a goddamn TODO file in your editor? Are you kidding me? To stage part of a file you need to use a command line program to step through each hunk and if a hunk can’t be split down any further but contains code you don’t want to stage, you have to edit an arcane patch file by hand? Are you KIDDING me?! Sometimes you get asked to stash your changes when switching branches only to realise that after you switch and unstash that there weren’t even any conflicts and it would have been fine to just checkout the branch directly? YOU HAVE GOT TO BE KIDDING ME!">
<!-- That good ol' feed, subscribe :). -->
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
<!-- Generated from https://realfavicongenerator.net/ such a mess. -->
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
<link rel="manifest" href="/static/david/icons2/site.webmanifest">
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
<meta name="msapplication-TileColor" content="#f7f7f7">
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
<!-- Documented, feel free to shoot an email. -->
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
<script>
function toggleTheme(themeName) {
document.documentElement.classList.toggle(
'forced-dark',
themeName === 'dark'
)
document.documentElement.classList.toggle(
'forced-light',
themeName === 'light'
)
}
const selectedTheme = localStorage.getItem('theme')
if (selectedTheme !== 'undefined') {
toggleTheme(selectedTheme)
}
</script>

<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">


<article>
<header>
<h1>Git</h1>
</header>
<nav>
<p class="center">
<a rel="prev" href="/david/2021/11/24/" title="Publication précédente : Souveraineté">← Précédent</a> •
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a>
</p>
</nav>
<hr>


<blockquote lang="en">
<p>Rant time: You’ve heard it before, git is <em>powerful</em>, but what good is that power when everything is so damn hard to do? Interactive rebasing requires you to edit a goddamn TODO file in your editor? <em>Are you kidding me?</em> To stage part of a file you need to use a command line program to step through each hunk and if a hunk can’t be split down any further but contains code you don’t want to stage, you have to edit an arcane patch file <em>by hand</em>? <em>Are you KIDDING me?!</em> Sometimes you get asked to stash your changes when switching branches only to realise that after you switch and unstash that there weren’t even any conflicts and it would have been fine to just checkout the branch directly? <em>YOU HAVE GOT TO BE KIDDING ME!</em></p>
<p><cite><em><a href="https://github.com/jesseduffield/lazygit#readme">LazyGit</a></em></cite></p>
</blockquote>
<p>Je profite de la découverte de cet outil pour une confidence qui n’en est pas vraiment une&nbsp;: j’utilise un client graphique pour tout ce qui a trait à <a href="https://git-scm.com/">git</a> (et je n’en ai pas honte).</p>
<p>J’ai longtemps utilisé <a href="https://www.mercurial-scm.org/">mercurial</a> à la main car je trouvais les commandes relativement intuitives mais en passant à <em>git</em> il y a une dizaine d’années, je me suis retrouvé la moitié du temps à aller chercher des commandes sur <a href="https://stackoverflow.com/questions/tagged/git">StackOverflow</a>, puis à faire des <em>alias</em> car c’était impossible à retenir, puis à perdre du code, etc. Au final, quitte à lancer des commandes que je comprends à peine (il parait que c’est moins cryptique aujourd’hui) autant utiliser celles qui ont été éprouvées par d’autres.</p>
<p><a href="https://www.git-tower.com/mac">Tower</a> sait faire tout ce dont j’ai besoin à mon niveau. Et vu le temps que ça me fait gagner à répétition, c’est largement rentable. Peut-être même de plusieurs ordres de grandeur… considérant que je contribue quotidiennement à une dizaine de dépôts.</p>
<p>Ce témoignage pour peut-être déculpabiliser des personnes qui pensent qu’il faut être un·e virtuose de la ligne de commande et de ses outils pour pouvoir développer. C’est un plus indéniable dans certaines situations d’être en capacité de descendre aussi bas niveau et d’avoir quelques notions de ce qu’il se passe mais il est tout à fait possible d’emprunter (et de créer&#8239;!) d’autres voies.</p>

<nav>
<p class="center">
<a rel="prev" href="/david/2021/11/24/" title="Publication précédente : Souveraineté">← Précédent</a> •
<a href="/david/2021/" title="Liste des publications récentes">↑ En 2021</a>
</p>
</nav>
</article>


<hr>

<footer>
<p>
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
</svg> Accueil</a> •
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
</svg> Suivre</a> •
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
</svg> Pro</a> •
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
</svg> Email</a> •
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
</svg> Légal</abbr>
</p>
<template id="theme-selector">
<form>
<fieldset>
<legend><svg class="icon icon-brightness-contrast">
<use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
</svg> Thème</legend>
<label>
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
</label>
<label>
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé
</label>
<label>
<input type="radio" value="light" name="chosen-color-scheme"> Clair
</label>
</fieldset>
</form>
</template>
</footer>
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
<script>
function loadThemeForm(templateName) {
const themeSelectorTemplate = document.querySelector(templateName)
const form = themeSelectorTemplate.content.firstElementChild
themeSelectorTemplate.replaceWith(form)

form.addEventListener('change', (e) => {
const chosenColorScheme = e.target.value
localStorage.setItem('theme', chosenColorScheme)
toggleTheme(chosenColorScheme)
})

const selectedTheme = localStorage.getItem('theme')
if (selectedTheme && selectedTheme !== 'undefined') {
form.querySelector(`[value="${selectedTheme}"]`).checked = true
}
}

const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
window.addEventListener('load', () => {
let hasDarkRules = false
for (const styleSheet of Array.from(document.styleSheets)) {
let mediaRules = []
for (const cssRule of styleSheet.cssRules) {
if (cssRule.type !== CSSRule.MEDIA_RULE) {
continue
}
// WARNING: Safari does not have/supports `conditionText`.
if (cssRule.conditionText) {
if (cssRule.conditionText !== prefersColorSchemeDark) {
continue
}
} else {
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
continue
}
}
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
}

// WARNING: do not try to insert a Rule to a styleSheet you are
// currently iterating on, otherwise the browser will be stuck
// in a infinite loop…
for (const mediaRule of mediaRules) {
styleSheet.insertRule(mediaRule.cssText)
hasDarkRules = true
}
}
if (hasDarkRules) {
loadThemeForm('#theme-selector')
}
})
</script>
</body>
</html>

+ 2
- 0
david/2021/index.html Переглянути файл

@@ -647,6 +647,8 @@
<h2><a href="/david/2021/11/24/">Souveraineté</a> (2021-11-24)</h2>
<h2><a href="/david/2021/11/25/">Git</a> (2021-11-25)</h2>
</main>



+ 13
- 0
david/2021/sources/2021-11-25 - Git.md Переглянути файл

@@ -0,0 +1,13 @@
# Git

> [en] Rant time: You’ve heard it before, git is _powerful_, but what good is that power when everything is so damn hard to do? Interactive rebasing requires you to edit a goddamn TODO file in your editor? *Are you kidding me?* To stage part of a file you need to use a command line program to step through each hunk and if a hunk can’t be split down any further but contains code you don’t want to stage, you have to edit an arcane patch file _by hand_? *Are you KIDDING me?!* Sometimes you get asked to stash your changes when switching branches only to realise that after you switch and unstash that there weren’t even any conflicts and it would have been fine to just checkout the branch directly? *YOU HAVE GOT TO BE KIDDING ME!*
>
> <cite>*[LazyGit](https://github.com/jesseduffield/lazygit#readme)*</cite>

Je profite de la découverte de cet outil pour une confidence qui n’en est pas vraiment une : j’utilise un client graphique pour tout ce qui a trait à [git](https://git-scm.com/) (et je n’en ai pas honte).

J’ai longtemps utilisé [mercurial](https://www.mercurial-scm.org/) à la main car je trouvais les commandes relativement intuitives mais en passant à *git* il y a une dizaine d’années, je me suis retrouvé la moitié du temps à aller chercher des commandes sur [StackOverflow](https://stackoverflow.com/questions/tagged/git), puis à faire des *alias* car c’était impossible à retenir, puis à perdre du code, etc. Au final, quitte à lancer des commandes que je comprends à peine (il parait que c’est moins cryptique aujourd’hui) autant utiliser celles qui ont été éprouvées par d’autres.

[Tower](https://www.git-tower.com/mac) sait faire tout ce dont j’ai besoin à mon niveau. Et vu le temps que ça me fait gagner à répétition, c’est largement rentable. Peut-être même de plusieurs ordres de grandeur… considérant que je contribue quotidiennement à une dizaine de dépôts.

Ce témoignage pour peut-être déculpabiliser des personnes qui pensent qu’il faut être un·e virtuose de la ligne de commande et de ses outils pour pouvoir développer. C’est un plus indéniable dans certaines situations d’être en capacité de descendre aussi bas niveau et d’avoir quelques notions de ce qu’il se passe mais il est tout à fait possible d’emprunter (et de créer !) d’autres voies.

+ 2
- 1
david/index.html Переглянути файл

@@ -97,7 +97,8 @@
<a href="/david/2021/11/21/">Jour 1</a>,
<a href="/david/2021/11/22/">Jour 2</a>,
<a href="/david/2021/11/23/">Horaires</a>,
<a href="/david/2021/11/24/">Souveraineté</a>.
<a href="/david/2021/11/24/">Souveraineté</a>,
<a href="/david/2021/11/25/">Git</a>.
</p>

+ 19
- 18
david/log/index.xml Переглянути файл

@@ -6,13 +6,31 @@
<link href="https://larlet.fr/david/" rel="alternate" type="text/html" />
<link href="https://larlet.fr/david/log/" rel="self" />
<id>https://larlet.fr/david/</id>
<updated>2021-12-01T12:00:00+01:00</updated>
<updated>2021-12-02T12:00:00+01:00</updated>
<author>
<name>David Larlet</name>
<uri>https://larlet.fr/david/</uri>
</author>
<rights>Copyright (c) 2004-2021, David Larlet</rights>
<entry xml:lang="fr">
<title type="html">Git</title>
<link href="https://larlet.fr/david/2021/11/25/" rel="alternate" type="text/html" />
<updated>2021-11-25T12:00:00+01:00</updated>
<id>https://larlet.fr/david/2021/11/25/</id>
<summary type="html">

&lt;blockquote lang=&quot;en&quot;&gt;
&lt;p&gt;Rant time: You’ve heard it before, git is &lt;em&gt;powerful&lt;/em&gt;, but what good is that power when everything is so damn hard to do? Interactive rebasing requires you to edit a goddamn TODO file in your editor? &lt;em&gt;Are you kidding me?&lt;/em&gt; To stage part of a file you need to use a command line program to step through each hunk and if a hunk can’t be split down any further but contains code you don’t want to stage, you have to edit an arcane patch file &lt;em&gt;by hand&lt;/em&gt;? &lt;em&gt;Are you KIDDING me?!&lt;/em&gt; Sometimes you get asked to stash your changes when switching branches only to realise that after you switch and unstash that there weren’t even any conflicts and it would have been fine to just checkout the branch directly? &lt;em&gt;YOU HAVE GOT TO BE KIDDING ME!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://github.com/jesseduffield/lazygit#readme&quot;&gt;LazyGit&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je profite de la découverte de cet outil pour une confidence qui n’en est pas vraiment une&amp;nbsp;: j’utilise un client graphique pour tout ce qui a trait à &lt;a href=&quot;https://git-scm.com/&quot;&gt;git&lt;/a&gt; (et je n’en ai pas honte).&lt;/p&gt;
&lt;p&gt;J’ai longtemps utilisé &lt;a href=&quot;https://www.mercurial-scm.org/&quot;&gt;mercurial&lt;/a&gt; à la main car je trouvais les commandes relativement intuitives mais en passant à &lt;em&gt;git&lt;/em&gt; il y a une dizaine d’années, je me suis retrouvé la moitié du temps à aller chercher des commandes sur &lt;a href=&quot;https://stackoverflow.com/questions/tagged/git&quot;&gt;StackOverflow&lt;/a&gt;, puis à faire des &lt;em&gt;alias&lt;/em&gt; car c’était impossible à retenir, puis à perdre du code, etc. Au final, quitte à lancer des commandes que je comprends à peine (il parait que c’est moins cryptique aujourd’hui) autant utiliser celles qui ont été éprouvées par d’autres.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.git-tower.com/mac&quot;&gt;Tower&lt;/a&gt; sait faire tout ce dont j’ai besoin à mon niveau. Et vu le temps que ça me fait gagner à répétition, c’est largement rentable. Peut-être même de plusieurs ordres de grandeur… considérant que je contribue quotidiennement à une dizaine de dépôts.&lt;/p&gt;
&lt;p&gt;Ce témoignage pour peut-être déculpabiliser des personnes qui pensent qu’il faut être un·e virtuose de la ligne de commande et de ses outils pour pouvoir développer. C’est un plus indéniable dans certaines situations d’être en capacité de descendre aussi bas niveau et d’avoir quelques notions de ce qu’il se passe mais il est tout à fait possible d’emprunter (et de créer&amp;#8239;!) d’autres voies.&lt;/p&gt;
&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
</entry>
<entry xml:lang="fr">
<title type="html">Souveraineté</title>
<link href="https://larlet.fr/david/2021/11/24/" rel="alternate" type="text/html" />
@@ -707,23 +725,6 @@ Et nous bouffe déjà&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a href=&quot;https://www.lapasteque.com/le-petit-astronaute&quot;&gt;Le petit astronaute&lt;/a&gt;&lt;/em&gt;, Jean-Paul Eid&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cette bande dessinée m’a bien remué. À l’intersection de beaucoup trop de choses qui me font déborder… qui plus est dans un contexte montréalais.&lt;/p&gt;
&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
</entry>
<entry xml:lang="fr">
<title type="html">Perspectives</title>
<link href="https://larlet.fr/david/2021/10/21/" rel="alternate" type="text/html" />
<updated>2021-10-21T12:00:00+01:00</updated>
<id>https://larlet.fr/david/2021/10/21/</id>
<summary type="html">
&lt;p&gt;Je me rends compte en suivant des parcours de &lt;a href=&quot;https://hellyandthemountains.fr/&quot;&gt;randonnées en France&lt;/a&gt; que je n’ai jamais de telles perspectives dans la forêt québécoise. Il y a souvent des points de vues aménagés aux sommets ou sur une crête mais sinon je vois très rarement à plus d’une centaine de mètres — exception faite des trouées sur des lacs.&lt;/p&gt;
&lt;p&gt;Cette navigation sans visibilité est assez particulière. Cela forme un cocon introspectif qui invite à se poser cette question&amp;nbsp;: à quoi bon aller plus loin&amp;#8239;? Si la forêt boréale est la même sur ces quinze prochains kilomètres, où s’arrêter&amp;#8239;?&lt;/p&gt;
&lt;p&gt;Lorsqu’on perd la notion de sommet ou de col, on n’aspire plus aux mêmes objectifs. Je me fie souvent à mon oreille&amp;nbsp;: lorsque je n’entends plus d’activité humaine, c’est que je suis suffisamment loin et que je peux m’arrêter au prochain point d’eau.&lt;/p&gt;
&lt;p&gt;Effort, densité, aspirations, il y aurait bien sûr une métaphore culturelle à filer de tout ça mais je me retiens.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Au passage, je réalise que j’ai gravi l’&lt;a href=&quot;https://hellyandthemountains.fr/2021/08/02/aiguille-de-la-grande-sassiere-3747m/&quot;&gt;Aiguille de la Grande Sassière&lt;/a&gt; (&lt;a href=&quot;https://larlet.fr/david/cache/2021/cb0de2fad9fcf3ac5f192b85962b1a0d/&quot;&gt;cache&lt;/a&gt;) à 8&amp;nbsp;ou 9&amp;nbsp;ans. C’est beaucoup plus facile niveau acclimatation en habitant à Tignes mais tout de même, le dernier mur était bien raide&amp;#8239;! Souvenirs…&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;mark&gt;Mise à jour&lt;/mark&gt;&amp;nbsp;: j’ai retrouvé une photo que j’avais prise au sommet, ça confirme 9&amp;nbsp;ans (août 91&amp;#8239;!).&lt;/p&gt;
&lt;hr/&gt;&lt;p&gt;&lt;a href=&quot;mailto:david@larlet.fr&quot;&gt;Réagir ?&lt;/a&gt;&lt;/p&gt;</summary>
</entry>

Завантаження…
Відмінити
Зберегти