Always be clear what you are doing
Check your changes (commit) before pushing
Don't ever force push that will create the chaos
git push origin master --force
instead first git pull origin master
and then after git push origin master
Commit short description
clearly mention summary of changes done
Limit your description to 20-30 characters (**not** words)
If you are referring to issue, tag the issue not like [fix #13]
Commit long description
Its optional but there is no harm in having it.
Please follow 70-75 char rule per line
Try to bundle you commit as the feature or bug fixes
If you aren't sure how to bundle your changes (commits). Push it into new branch and create issue for some one to look over it!
Always create a clear, unambigious and easily understandable README file containing:
Project Title
Project Statement
Project features
List of brances and for what purposes are they created (if any)
Hardware and Software Requirements
Information on how to run the project
Contact Information
License Information
Try to create the wiki about topics whenever possible
Maintain a screenshot folder about how your application looks after a successful run
Create a github page containing contact information and other project related information
Create a CONTRIBUTING file containing information regarding your project specific contribution criteria