Git Cookbookhttps://git.seveas.net/2016-08-17T00:00:00+02:00Git and configuration files2016-08-17T00:00:00+02:00Dennis Kaarsemakertag:git.seveas.net,2016-08-17:git-and-configuration-files.html<p>How do you keep local changes to the configuration files in your
project's repository? Should you use <code>update-index</code>, or is there a better
way to ignore local changes. None of that nonsense, your configuration
files do not belong there and in this article I'll show you why, and what
alternatives there are for your configuration files.</p>Describing the relationship between commits2016-03-20T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2016-03-20:describing-the-relationship-between-commits.html<p>Unless you have only one commit in your repository, no commit stands
on it own and all commits can be related to each other. These relationships
can be described in multiple ways, from exact revision walking paths to a
vague 'are these commits even related'?</p>Undoing all kinds of mistakes2016-03-20T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2016-03-20:undoing-all-kinds-of-mistakes.html<p>Git understands that humans are not perfect, and that often we want to
change our minds about what we did. To help with this, git offers many
tools to undo our changes and even change history. The trick is knowing
when to use which tool.</p>Quickly seeing the age of your branches2015-12-12T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-12-12:quickly-seeing-the-age-of-your-branches.html<p>Want to know how old all your branches are? You can of course browse
your logs, but git can tell you what you want to know in one command
(if you're willing to call some shell golfing a single command)</p>Repairing and recovering broken git repositories2015-12-08T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-12-08:repairing-and-recovering-broken-git-repositories.html<p>Git tries very hard not to forget anything you have ever committed,
but that only works as long as your .git directory is intact. What do you
do if it gets corrupted? Many parts of it can be recovered and in this
article we find out how to do this.</p>How to back up a git repository2015-12-07T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-12-07:how-to-back-up-a-git-repository.html<p>Backing up a git repository isn't as simple as cloning it, even
creating tarballs may not be good enough for backing up. And if you think
rsync has got you covered, think again! Let's explore some backup methods
and how to break their assumptions with git. Of course we also explain how
to correctly back up a git repository.</p>Previewing a merge result2015-12-07T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-12-07:previewing-a-merge-result.html<p>Can you preview what the result of a merge would look like? Sort of, here you can learn how.</p>Rebasing illustrated2015-11-18T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-18:rebasing-illustrated.html<p>We dive into the <code>git rebase</code> command and take away all the fear around it.</p>Extending git's bash completion for your own commands2015-11-08T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-08:extending-gits-bash-completion-for-your-own-commands.html<p>Git has pretty decent and extensible bash completion. We'll teach you how to extend this completion for your own git subcommands.</p>Deleting branches that have been merged2015-11-07T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-07:deleting-branches-that-have-been-merged.html<p>Learn how to to find branches that have been merged into your main branch and how to delete them.</p>Getting rid of submodules2015-11-07T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-07:getting-rid-of-submodules.html<p>Getting rid of submodules is as cumbersome as any submodule operation. So let's have no more of it and delete some submodules.</p>The meaning of refs and refspecs2015-11-07T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-07:the-meaning-of-refs-and-refspecs.html<p>Refs are one of git's core concepts. Learn here about all the
different types of refs (many more than just tags and branches) and how
they differ from each other.</p>Recovering from a detached head2015-11-05T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-05:recovering-from-a-detached-head.html<p>Unlike in real life, a detached head is pretty common in git. Find out
how you can get into this situation and how to recover from it.</p>Removing unwanted data from git repositories2015-11-05T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-05:removing-unwanted-data-from-git-repositories.html<p>Ever committed something very large or sensitive? Find out how you can remove it from your repository.</p>Simple deployments with git2015-11-05T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-05:simple-deployments-with-git.html<p>While git is not a deployment tool, many people (attempt to) use it as
one. So here are some recipes for doing deployments with git hooks in a
safe and sane way.</p>Always using the latest and greatest git2015-11-04T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-04:always-using-the-latest-and-greatest-git.html<p>Help testing Git development by using packages that integrate with
Ubuntu, Debian CentOS and Fedora.</p>Dealing with misconfigured https repositories2015-11-04T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-04:dealing-with-misconfigured-https-repositories.html<p>You should never have to disable SSL verification, but sometimes you
do not control the host you must get some data from. If you must do so,
learn here how to do this without firther compromising your security.</p>Using credential helpers to cache passwords2015-11-04T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-04:using-credential-helpers-to-cache-passwords.html<p>Never type your passwords again, but store them safely in a password manager Git can use.</p>Serving git's smart http protocol and a web interface with Apache2015-11-03T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-03:apache-gitweb-cgit-smart-http.html<p>From zero to fully working web server in 2 configuration files, including smart HTTP, ssl, authentication, and cgit or gitweb.</p>Using multiple post-receive hooks2015-11-03T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-03:using-multiple-post-receive-hooks.html<p>Workaround for a common pitfall for some git hooks: consuming all input.</p>Showing all branches and their relationships2015-11-01T00:00:00+01:00Dennis Kaarsemakertag:git.seveas.net,2015-11-01:showing-all-branches-and-their-relationships.html<p>You don't need a graphical interface to see all your branches and their relationships.</p>