Who am I?
My name is Heiko Voigt. I am a Git enthusiast. I successfully introduced Git into teams and developed workflows which align with their daily work, with them. In this context I do not stop short and sometimes even modify git itself to adapt it, so people have an easier life.
A balanced workflow
Git is like a formula one car: Very powerful. But this also means it can be overpowered and overwhelming for many simple cases. I can show you how to drive it to the supermarket and maneuver it comfortably into a parking spot. All in harmony with your daily work.
Reliable
If you are using Git with the proper workflow it is really hard to loose data. With Git it is safe to just explore your possibilities for some solution. Should you end up in a dead end you can rely on Git to always get you back to where you started. That is when using Git safely, which I can teach you the important points about.
Version Control everywhere. Git.
Modern development of reliable software needs people who are using the proper tools, so they always are in control of all changes.
Git is a very adaptable tool, which supports basically any workflow possible. It is very flexible and scales with your and your teams needs. E.g. there is no need for a network connection or any sort of server unless you want to share your work with others.
Git was started by Linus Torvalds who is also responsible for the Linux kernel and is known to be as reliable. Since then it has also been chosen as the best by many others. E.g. Microsoft Visual Studio supports Git since 2013.
Here is a choice of questions that Git can answer in case you ever wondered about any of them:
- Why this Bug, that was already solved, reappeared?
- This worked before when (and why) did it break?
- Can people more familiar with the code have a look before going live?
- Can I easily apply a fix to an old realease of the software?
- Can I still work without a network connection?
- Can I organize/cleanup my work so it does not show irrelevant changes?
- Can I easily review, then rework (and repeat that) my changes until they are perfect without interrupting others?
- Can I reproduce both sides of an automatic merge in case something went wrong?
- Can I work in very small logical steps, so in case somethings breaks I can isolate the responsible change easily?
All these topics (and more) can be solved with the support of Git.
Git is a very versatile tool. As mentioned you can start very simple. E.g. with a setup, where you do not even need a server. Git tracks the changes to all the files in a directory of your choice.
If need arises the recorded changes can then be shared with other people, so you can work together on the same files simultaneously. This can start by using an USB-Stick, a shared network drive or a git server. This can grow further e.g. into a fully fledged Git code review system, to which you then add a continous integration build farm.
Git works distributed, that means it can be used with, without or with just sporadic network access. Every repository has its own database. Git repositories can even be synced directly with each other not requiring any third party (server).
Git made easy. Really.
Git can be hard at the beginning because of its overwhelming possibilities...
- Which workflow should one use?
- gitflow
- push and pull
- feature branches
- version branches
- topic branches
- ...
- How do I cleanup branches / my commits?
- How can I make sure all releases get a fix, that was developed later?
- What is important to allow painless reviews of code.
- How do you structure your files for maximum reuseability. E.g. when (and for what) should we use submodules?
- What is this rebase thing useful for?
- How do I easily solve merge conflicts?
I have succesfully introduced Git with a lightweight workflow into professional teams. I work together with teams, to find the right workflow that allows git supported organisation of their daily work and maximum readability of the produced history.
Who am I? Heiko.
My name is Heiko Voigt. I am a Git enthusiast. I successfully introduced Git into teams and developed workflows which align with their daily work, with them. In this context I do not stop short and sometimes even modify git itself to adapt it, so people have an easier life.
I can help you introduce Git into your team or extend the current knowledge and workout a suitable workflow for your needs. There is always something your are still missing out from Git
If you are interested in the work I have already done for Git here are some pointers:
- Upstream work: These are the changes that already have been accepted into core git.
- ... for more pointers see the git section on this page
If you are interested, please do not hesitate to get in touch with me. Have a look at the contact page for more information.