Monday, March 16, 2015

GitMinutes #33: Thom Parkin on Mastering Git

In this episode we talk to Thom Parkin about his new video course on mastering Git, and other things interesting for those who want to improve their Git skills.

Link to mp3

Listen to the episode on YouTube

Get Thom's "Mastering Git" Video Tutorial for 50% off, on the Packt Publishing website if you use the Discount Code GITMASTER2015.  This offer will only last a limited time.
* Note that there is a different video course published in 2011 with the same title: McCullough and Berglund on Mastering Git.

How to find lost stashes
During a discussion of git-lost-found (now deprecated in favor of git fsck --lost-found), we asked how to find dropped stashes. git fsck --lost-found will indeed show these as well, although you have to inspect them yourself to identify which came from stash.

Episode outline
00:00:00 Intro 
00:02:25 Bio/welcome 
00:02:56 Tell us about your background 
00:04:14 What is your experience with VCS? 
00:05:47 You have a video course out about Git. Tell us about it! 
00:06:28 What is SitePoint? 
00:12:32 A video course on/by Packt? 
00:13:09 Tell us more about the structure of your video course. 
00:15:39 You had your son do the graphical artistry? 
00:16:16 Always interesting to see how Git is visualized 
00:18:11 Let's talk about 
00:30:09 Tangent: Installing GIt on different OSes 
00:32:10 Any other things from your video course you would like to discuss? 
00:33:20 How do I find lost commits? 
00:35:45 Don't stashes appear in the reflog? 
00:40:11 What are the other "Gititudes"? 
00:45:37 Crafting history, commit messages, squashing vs merging? 
01:00:29 How much Git teaching is still left to do in the world? 
01:04:13 Where can people find you online? 
01:04:58 What is your favorite Git pro tip? 
01:05:43 Thank you for coming onto the show! 
01:05:50 Outro 
01:06:36 Bonus: Head in the closet?

Monday, March 2, 2015

GitMinutes #32: Adam Spiers on git-deps

In this episode we talk to Adam Spiers about git-deps, a tool he made for analyzing dependencies between commits.

Link to mp3

Listen to the episode on YouTube


git-deps issues/enhancements mentioned

Technologies used in git-deps
Episode outline

00:00:00 Episode meta, sponsor, etc
00:01:40 Bio, welcome Adam
00:02:08 Tell us how you ended up here
00:05:41 What do you do at SUSE, or about the version control there
00:07:08 What do you think Git got right compared to other tools historically?
00:13:53 Tell us about your involvement with the Git project
00:19:55 What's it like to get code reviewed by the Git mailing list?
00:21:15 Your contribution is git check-ignore?
00:23:47 Tell us about git-deps
00:26:03 Explain these dependencies between commits
00:35:29 Is the dependency analysis made at runtime?
00:38:55 Can you use git-deps as an early-warning system for discovering conflicts?
00:48:23 Case in point: GUI tool for doing rebase --onto
00:51:14 How could git-deps be used in a GUI (musings)
00:54:53 Honorary mention of ungit
00:57:37 Would it be possible to use it in a tool to detect conflicts between unmerged branches?
01:01:27 Any plans or visions for the future of git-deps?
01:03:26 Tell us quickly about the tech-stack running under git-deps
01:05:42 Aren't you using node?
01:07:19 Is it open for contributions?
01:09:34 Anything you would like to promote?
01:13:52 What is your favorite Git Pro Tip?

Thursday, February 19, 2015

GitMinutes #31: Mary Rose Cook on Gitlet

In this episode we talk to Mary Rose Cook about her recent experimental implementation of Git in JavaScript: Gitlet. We also talk about all kinds of things around understanding Git, and teaching it.

Link to mp3

Listen to the episode on YouTube

Here's a rough outline of questions asked:

00:00:46 Welcome to the show
00:01:18 Tell us your background
00:03:02 Do you teach Git at Hacker school?
00:03:49 Is Hacker School for programmers who want to get better?
00:04:37 Is Hacker School remote?
00:04:56 What does it cost?
00:06:25 Would you accept anyone who already has a job?
00:07:07 Is the Hacker School concept a common thing?
00:08:33 Any links for those who want to learn more about Hacker School?
00:08:51 What your Git experience?
00:10:09 How were you using Git/GitHub?
00:10:33 When/why did you start planning Gitlet?
00:12:21 What is Gitlet?
00:13:45 Can you install it and use it as a normal Git client?
00:14:38 What does it lack compared to the real Git?
00:16:04 Could you make it production ready if you outsourced the inner operations to libgit2?
00:18:12 Didn't the Learn Git Branching already implement Git in browser?
00:19:37 How did implementing Gitlet change the way you teach GIt?
00:21:08 Would I be a better Git teacher if I taught people the internals instead of the porcelain?
00:26:31 When should people who know Git take the next step to learn it deeper?
00:30:18 Why is it safer to do fetch before you go on an airplane?
00:31:01 Doesn't pull just update current branch while fetch gets everything?
00:32:10 Git fetch vs git pull
00:33:39 How can I get people to avoid merging origin/master to master?
00:39:53 Talk about the repeating patterns you found inside the Git operations
00:47:42 Talk about the beautifully annotated source code of Gitlet
00:52:50 Do you feel a lot of Git internals have leaked out in the user interface?
00:54:58 How can git reset and checkout be the same command for so different things?
00:57:53 Is it the same thing with git reset?
00:59:08 What would be your ideal Git tool?
01:01:54 Any plans for the future?
01:03:21 Anything you'd like to promote?
01:03:40 Where can people find you online?
01:04:00 What is your favorite Git pro tip?
01:04:43 Thank you for coming onto the show!

Monday, July 7, 2014

GitMinutes #30: Luca Milanesio on Gerrit Code Review

This is GitMinutes episode 30 where I’m talking to Luca Milanesio, a seasoned Gerrit contributor, and the co-founder of GerritForge.

Link to mp3

  Listen to the episode on YouTube

You may know Gerrit as being the code-review tool that powers some of the largest open source projects out there today, like Android, Chrome and the Eclipse foundation. It’s used by big companies like Google, Sony, Ericsson and many others. It’s a very powerful tool where you can push up your suggested changes and have them reviewed naturally, and you can also get feedback from continuous integration tools like Jenkins to make sure that your suggested changes don’t break the build. And Gerrit is the main thing we’ll talk about today.


Luca's Git pro-tip:
Use your Git local repopository as your journal and your Git commits as the explicit, simple and useful phrases of it. Before pushing, do a git rebase -i to review, re-organise and give sense to your Git history.

Outline/questions (if you think this is useful, let me know):

0:00 Welcome, intro
1:14 Thanks to DigitalOcean for sponsoring this episode!
2:33 Welcome to the show, Luca.
3:29 Tell us about the force push
5:10 Tell us how you ended up where you are today
7:06 What is
8:19 Is GitEnterprise like GitHub for companies?
14:50 Lets come back to codereview later
15:23 Is GerritHub = GitEnterprise = GerritForge?
17:39 Can everyone use GerritHub for Github stuff?
18:34 Are the GitHub repositories used as the backend for Github?
23:32 Let's take a step back and look at Gerrit from the perspective of a beginner
31:23 For which teams is Gerrit the right choice?
36:09 What about teams coming directly from SVN or something else starting with Git and Gerrit at the same time?
41:40 What are Topics about?
44:53 Where are the topics managed? Where is the master record?
46:01 I definitely see the need for topics with multi repo or Jenkins jobs
49:05 Is Gerrit a good choice if you have multiple interdependent repositories then?
51:12 About Facebooks big mercurial infrastructure
51:38 Gerrit will give you the advantages that Faceboo wanted, and smaller repos
53:30 How do you review topics within Gerrit compared to traditional commits?
58:42 Are multiple interdependent changes merged in one go or one commit at a time?
59:56 We went a bit off course there, topics are very interesting :)
1:00:28 Can you talk about the community and what's going on there?
1:02:41 Oh, Spotify is also using Gerrit?
1:08:22 Traditional code review is more blame game...
1:09:54 Gerrit style review is actually lowers the barrier for daring to submitting patches..
1:15:31 Pair programming vs Code Review
1:19:05 How to learn/introduce Gerrit in a company
1:23:58 Any questions I forgot to as you? (How the force push happened)
1:25:34 Anything you'd like to promote?
1:26:57 Let people know how they can get in touch with you.
1:27:17 Tell us your favorite Git pro-tip.

Monday, May 19, 2014

GitMinutes #29: James Moger on GitBlit

In this episode, we talk to James Moger, the author of GitBlit, an open-source Java-powered Git repository manager.

Link to mp3

This episode of GitMinutes is sponsored by DigitalOcean. Sign up using the promo-code GITMINUTES10 to receive 10$ worth of credit. Want to see how you can run GitBlit on your own DigitalOcean droplet? There's a screencast for that:

See how to set up GitBlit on DigitalOcean

Things we mentioned:
James' pro-tips:
Some things we didn't talk about, but I'd like to mention:

Extra pro-tip:  "git fetch -p".  It stands for prune. Will remove tracking refs from your clone that no longer exist in the remote but it will NOT remove any of your local branches.  It's a useful shortcut for cleaning up your clone so you can GC to reclaim space.

Listen to the episode on YouTube

Monday, April 14, 2014

GitMinutes #28: Johannes Schindelin on Git for Windows

In this episode we talk to Johannes Schindelin from the msysgit project, a tool used for building Git for Windows.

Link to mp3

Johannes is a mathematician with a degree in genetics. In his day job, he supports biologists with image processing and analysis. He is involved in a number of Open Source projects and he co-maintains Git for Windows with Sebastian Schuberth, Pat Thoyts and Erik Faye-Lund. He is from Germany, but currently lives in the Mid-West of the US.

Note: We briefly discussed libgit2 being licensed as BSD. This is not the case anymore: It has switched to GPLv2 with a linking exception,


Listen to the episode on YouTube

Monday, February 17, 2014

GitMinutes #27: Stefan Saasen from Atlassian

In this episode I’m talking to Stefan Saasen from Atlassian. We focus mainly on Stash, which is their on-premise Git repository manager, but we’ll also touch on their other products to see how they all work together.

Link to mp3

Stefan is the development lead for Atlassian Stash. He has worked on Atlassian Confluence, later with the OnDemand authentication system and finally on Stash, their Git hosting solution. He’s responsible for migrating the Confluence team from Subversion to Git, as well as a large number of Atlassian OnDemand customers.
Favorite Git pro tips:

Extend Git with git extras and git activity.

Listen to the episode on YouTube