GitHub Cheat Sheet

GitHub Cheat Sheet

Here’s the list of items from the table of contents:

  • GitHub
    • Ignore Whitespace
    • Commit History by Author
    • Cloning a Repository
    • Comparing Branches
    • Compare Branches across Forked Repositories
    • Gists
    • Git.io
    • Keyboard Shortcuts
    • Line Highlighting in Repositories
    • Closing Issues via Commit Messages
    • Cross-Link Issues
    • Syntax Highlighting in Markdown Files
    • Emojis
    • Images/GIFs
      • Embedding Images in GitHub Wiki
    • Quick Quoting
    • Quick Licensing
    • Task Lists
    • Relative Links
    • Metadata and Plugin Support for GitHub Pages
    • Diffs
      • Rendered prose Diffs
      • Diffable Maps
      • Expanding Context in Diffs
    • Hub
    • Decreasing Contributor Friction
    • Contributing Guidelines
    • Git
    • Previous Branch
    • Checking out Pull Requests
    • Empty Commits :trollface:
    • Styled Git Status
    • Styled Git Log
    • Git Query
    • Merged Branches
    • Web Server for Browsing Local Repositories
    • Git Configurations
      • Aliases
      • Auto-Correct
      • Color

Sonatype Nexus: Repository management tool that proxies remote repos and allows sharing of artifacts between teams

Sonatype logo

The Sonatype Nexus webpage says:

Sonatype Nexus sets the standard for repository management providing
development teams with the ability to proxy remote repositories and share
software artifacts. Download Nexus and gain control over open source
consumption and internal collaboration.

At work, we’re using Ant to manage our builds. We store artifacts from other teams in a common module. It would be nice to manage those external dependencies in a tool like Nexus.

Article: How to Create a Statically Linked Version of git Binaries

As I’ve mentioned before, we use CVS at my job. I use Git for personal projects, and I wanted to install a copy on our build server at work. I have root access to that box, but I prefer to contain my changes to my user when possible. I know that building statically linked binaries is frowned upon, but I didn’t see much of an alternative in my case, at least in the short term. Anyway, here are the instructions I followed:

How to Create a Statically Linked Version of git Binaries:
http://java.dzone.com/articles/how-create-statically-linked.

We run Red Hat Enterprise Linux at work, so I build the git binaries using a CentOS Vagrant image. I had to install the following additional modules:

  • asciidoc
  • gettext
  • glibc
  • zlib
  • zlib-devel
  • zlib-static
  • perl-ExtUtils-MakeMaker

gitflow: Git extensions for Vincent Driessen’s branching model

gitflow screenshot from Vincent Driessen's blog

https://github.com/nvie/gitflow

These are git extensions that make it easier to use the Git branching model the Vincent Driessen proposed in this blog post.

Unfortunately, we’re still using CVS on my team at work, but we’re looking to switch to a more modern source control system soon. I’m lobbying for Git, but Subversion is the more likely choice.

Here are a couple more resources that talk about the gitflow branching model:

libgit2: portable Git library written in C with bindings for over 20 languages & platforms

libgit2 logo

libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to
write native speed custom Git applications in any language which supports C bindings.

  • 100% Cross-Platform: Linux, FreeBSD, OpenBSD, Mac OS X, iOS, Amiga, MinGW and fully native Windows.
  • Zero Dependencies: Builds out of the box with no dependencies. Works in embedded devices and iOS.
  • ANSI C89: Written with portability in mind. Builds in GCC, Clang and MSVC.
  • Permissive Licensing: GPLv2 with Linking Exception. Link with open and proprietary software, no strings attached.

The complete list of language bindings is here on the Github page.

GitList

GitList

Another team at work has begun using GitList as their Git repository
viewer.

It looks like a nice self-hosted alternative to GitHub

From the GitList website:

GitList allows you to browse repositories using your favorite browser,
viewing files under different revisions, commit history and diffs. GitList is
free and open source software, written in PHP, on top of Silex and the Twig
template engine.