This is a pretty good overview… The only concern I have is that there should be a warning about doing git add *. I’ve seen students do this and end up adding a lot of unnecessary things and bloating their repo.
That’s why there should always be a gitignore file with everything that shouldn’t get into the repo. At least in the case of open source projects, you can ask the contributor to clean up the commits. But one lazy developer is enough to cause headache for everyone in academic projects and work projects.
An equally important skill is the ability to create clean commit histories using interactive rebases or tools like stgit. Everyone complains about this being too complicated for regular developers. There is some truth to this too. However, the regular commit and forget workflow is an excuse for many lazy developers to slack off on the quality of commits.
This is a pretty good overview… The only concern I have is that there should be a warning about doing
git add *
. I’ve seen students do this and end up adding a lot of unnecessary things and bloating their repo.That’s why there should always be a gitignore file with everything that shouldn’t get into the repo. At least in the case of open source projects, you can ask the contributor to clean up the commits. But one lazy developer is enough to cause headache for everyone in academic projects and work projects.
An equally important skill is the ability to create clean commit histories using interactive rebases or tools like stgit. Everyone complains about this being too complicated for regular developers. There is some truth to this too. However, the regular commit and forget workflow is an excuse for many lazy developers to slack off on the quality of commits.