It is a general information page, but we are using GitHub so we will deepen into GitHub specific tips.
Since there are a lot of Git clients we need a shared language, for that reason we will use [Git commands] to explain some common actions.
Installation
Installing Git is easy. In Linux, all repositories of all distributions have the related packages available and updated. For Mac and Windows, you can download it from [official Git download page] but we recommend to install your favourite Git GUI because they also include the command line tool.
Warning: Do not use PuTTY if you are given the option. GitHub only provides support for openssh.
Conventions, standards and tips
Operations
- fork a remote repo
- clone a remote repo
- configure remotes
- fetch remotes
- create a new branch
- commit changes
- push to a remote repo
- creating a pull request
- working with pull requests
- merge remote branches
- solve merge and rebase conflicts
Configuration files
Common Problems
Git Clients
There are a lot of Git GUI clients. In general, we can said that Git Extensions is a good choice to start because it helps you to understand how Git is working internally.
WORK IN PROGRESS (probably deprecated)
Create a local repository
Commit changes
Push changes to a remote repository
Cloning a remote repository locally
We will create a local repository in the folder c:\projects\migration-to-git
cloning https://github.com/MakingSense/migration-to-git
cd c:\projects
git clone https://github.com/MakingSense/migration-to-git.git
cd migration-to-git
GitHub recommends accessing to repositories by HTTPS URL, SSH URL is also available if you prefer. See this GitHub help page if you have troubles with authentication.
- Git clients (hint)
- Remotes naming (hint)
- Commits description (mandatory)
MORE WORK IN PROGRESS (probably deprecated)
It will include information like:
- Commands
- Conventions
- Standards
http://git-scm.com/downloads [official Git download page]: http://git-scm.com/downloads “Official Git download page” [Git commands]: http://git-scm.com/docs