Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Based on this article I am using GITHUB http://www.github.com for hosting my repositories securely online. Code is hosted on GITHUB makes the code easy to browse, download, fork, etc.
Cloning a project is creating a local copy on your host of a remote repository.
On GITHUB you can create a fork which is a copy of repository hosted on GITHUB within your own GITHUB space.
Once you pushed your changes to own copy on GITHUB you can do a pull request on GITHUB which will inform the maintainers of the original project that you wish to merge your changes upstream.
Create a repository on GITHUB without initializing.
To commit changes you need to stage the changes using the following commands:
Add file to repository
Remove file from repository
Before committing you can undo or checkout original file
Commit changes locally
Finally upload or push to GITHUB
Sync a fork of a repository to keep it up-to-date with the upstream repository.
Before you can sync your fork with an upstream repository, you must configure a remote that points to the upstream repository in GITHUB.
List current configured remote repository for your fork
Specify a new remote upstream repository that will be synced with the fork
Verify the new upstream repository you've specified for your fork
Fetch the branches and their respective commits from the upstream repository. Commits to master will be stored in a local branch, upstream/master
Check out your fork's local master branch
Merge the changes from upstream/master into your local master branch. This brings your fork's master branch into sync with the upstream repository, without losing your local changes
In your GITHUB project, you need to keep your master branch clean, by clean I mean without any changes, like that you can create at any time a branch from your master. Each time, that you want to commit a bug or a feature, you need to create a branch for it, which will be a copy of your master branch.
When you do a pull request on a branch, you can continue to work on another branch and make another pull request on this other branch.
Before creating a new branch, pull the changes from upstream. Your master needs to be up to date.
Create the branch on your local machine and switch in this branch
Push the branch on github
When you want to commit something in your branch, be sure to be in your branch.
You can see all branches created by using
See details on branches for origin/GITHUB
Switch to a branch
Pull updates from branch on GITHUB
Push updates to your branch on GITHUB
Delete a branch on your local filesystem
Force the deletion of local branch on your filesystem
Delete the branch on github