I have been using git and github with my small team of developers for our projects. I can't help but think that we aren't doing it right. I am interested to hear how others use this workflow within their projects.
How we use it:
We branch before each change, merge back into the master, commit locally and push to our github repo. We then ssh into our testing environment and pull the master branch of the github repo. We haven't quite grasped rebase
, fetch
or tagging
just yet.
How I would like to use it: I would like to be able to ssh into the different servers and pull a specific tagged version, like "phase 1" into the server. Is this possible, or would I need two different github repos?
Are you supposed to git pull
a specific branch into the web servers or create a new alias to git push
to?
Can you control release candidates or environments (testing, development, production) within one git repository? or do you need multiple?
If pulling is the solution, can you pull a specific tag
?
Read the Pro Git book. You can read git man pages for a year and still not get it: trying to learn git by reading man pages is like trying to learn a new language by reading a dictionary, it can be done. The book will teach you a handful of workflows you can have with git, and what git commands to use and in which context to use them.