Tips from the experts on getting more from Git

Fast Run

I'll end with five more quick tips you can find online.

Web developer Thomas Hutterer uses a Git alias featuring homegit [17] to manage his configuration files (dotfiles). This little GIT_WORK_TREE trick makes it possible to manage files within your home directory and use them on multiple computers without any additional software. Thomas says "it helps you feel at home everywhere."

Martin Wilck provided the links for a rebase without the loss of tags [18]. The kernel developer also provided a link to the git-related tool [19], which helps Git users track down developers and commits for a set of changes. The tool runs through the Git history and executes a git blame for each change.

Sergio Lindo added several recommendations. For instance, you can sign commits (via gpgSign = true in the [commit] section of the .gitconfig file). The git lola alias [20] creates a colored graph for all branches of the repository at the command line. git rup is an alias for git remote update --prune. It downloads the last commits of all branches of all repositories in the remote ref branches but does not maintain them in the local branches. This can be done by the developer, for example with git-sync-fork.sh [21]. diff-highlight [22] highlights changes in diffs in color.

Storage guru Lars Marowsky-Brée recommends vim-fugitive [23]. The Vim extension makes typical Git commands like git status, git blame, and git mv usable for Vim users.

But the last word goes to Stephan "coolo" Kulow: It has to be fun! To ensure this, he recommends the Happy Git Commits [24].

Infos

  1. Git: https://git-scm.com/
  2. Useful Git commands: https://dzone.com/articles/useful-git-commands
  3. Git pro tips by Fedora developers: https://www.linuxfoundation.org/blog/2015/04/7-pro-tips-for-using-git-from-fedora-developers/
  4. Cheat sheets for Git: https://www.git-tower.com/blog/git-cheat-sheet/,https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf
  5. gitflow: https://github.com/nvie/gitflow
  6. Git Pretty: http://justinhileman.info/article/git-pretty/
  7. Undoing in Git: http://www.git-scm.com/book/en/v2/Git-Basics-Undoing-Things
  8. Interactive adding in Git: http://git-scm.com/book/en/v2/Git-Tools-Interactive-Staging,http://gitready.com/intermediate/2009/01/14/interactive-adding.html
  9. Ignoring in Git: http://git-scm.com/docs/gitignore
  10. git-check-ignore: https://git-scm.com/docs/git-check-ignore
  11. Rewriting the Git history: https://www.atlassian.com/git/tutorials/rewriting-history
  12. Stashing in Git: http://git-scm.com/book/en/v1/Git-Tools-Stashing,http://git-scm.com/docs/git-stash
  13. Migration from Mercurial to Git: https://www.openattic.org/posts/openattic-code-repository-migrated-to-git/
  14. git-vimdiff: https://github.com/frutiger/git-vimdiff
  15. git-deps: https://github.com/aspiers/git-deps
  16. git-fixup: https://github.com/aspiers/git-deps/blob/master/bin/git-fixup
  17. homegit: https://github.com/thutterer/homegit
  18. Git rebase without losing the tags: https://ownyourbits.com/2017/08/14/rebasing-in-git-without-losing-tags/
  19. git-related: https://github.com/felipec/git-related
  20. git-lola: http://blog.kfish.org/2010/04/git-lola.html
  21. git-sync-fork.sh: https://github.com/software-for-life/git-helper/blob/development/src/git-sync-fork.sh
  22. Optimizing diffs: https://github.com/git/git/tree/master/contrib/diff-highlight
  23. vim-fugitive: https://github.com/tpope/vim-fugitive
  24. Happy Git Commits: https://collectiveidea.com/blog/archives/2010/08/03/happy-git-commits

The Author

Markus Feilner is a seasoned Linux expert from Regensburg, Germany. He has been working with free and open source software since 1994 as a trainer, consultant, author, and journalist. He is currently employed as team lead of the SUSE Documentation Team in Nuremberg, Germany.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Tree View

    Complex Git projects sometimes require a better view of the dependencies and branches. Several tools offer GUI options for Git. We take a look at gitk, gitg, git-gui, and GitAhead.

  • Remote Git Repositories

    Software projects often comprise several code branches, some of which exist in parallel. Git supports community code development through remote repositories and code branching.

  • Etckeeper

    Etckeeper keeps order in global configuration files and prevents problems with accidentally deleted files.

  • Version Control with Git

    The Git version control system is a powerful tool for managing large and small software development projects. We'll show you how to get started.

  • Git Ready

    If you develop open source software, you need to know how to use Git. Information on Git fills books, but this basic overview will get you started with a vital open source development tool.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News