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
- Git: https://git-scm.com/
- Useful Git commands: https://dzone.com/articles/useful-git-commands
- Git pro tips by Fedora developers: https://www.linuxfoundation.org/blog/2015/04/7-pro-tips-for-using-git-from-fedora-developers/
- 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
- gitflow: https://github.com/nvie/gitflow
- Git Pretty: http://justinhileman.info/article/git-pretty/
- Undoing in Git: http://www.git-scm.com/book/en/v2/Git-Basics-Undoing-Things
- 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
- Ignoring in Git: http://git-scm.com/docs/gitignore
- git-check-ignore: https://git-scm.com/docs/git-check-ignore
- Rewriting the Git history: https://www.atlassian.com/git/tutorials/rewriting-history
- Stashing in Git: http://git-scm.com/book/en/v1/Git-Tools-Stashing,http://git-scm.com/docs/git-stash
- Migration from Mercurial to Git: https://www.openattic.org/posts/openattic-code-repository-migrated-to-git/
- git-vimdiff: https://github.com/frutiger/git-vimdiff
- git-deps: https://github.com/aspiers/git-deps
- git-fixup: https://github.com/aspiers/git-deps/blob/master/bin/git-fixup
- homegit: https://github.com/thutterer/homegit
- Git rebase without losing the tags: https://ownyourbits.com/2017/08/14/rebasing-in-git-without-losing-tags/
- git-related: https://github.com/felipec/git-related
- git-lola: http://blog.kfish.org/2010/04/git-lola.html
- git-sync-fork.sh: https://github.com/software-for-life/git-helper/blob/development/src/git-sync-fork.sh
- Optimizing diffs: https://github.com/git/git/tree/master/contrib/diff-highlight
- vim-fugitive: https://github.com/tpope/vim-fugitive
- Happy Git Commits: https://collectiveidea.com/blog/archives/2010/08/03/happy-git-commits
« Previous 1 2 3 4 5
Buy this article as PDF
(incl. VAT)