GitHub is a web-based Git repository hosting service. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project. GitHub offers both plans for private repositories, and free accounts which are commonly used to host open-source software projects. As of April 2016, GitHub reports having more than 14 million users and more than 35 million repositories, making it the largest host of source code in the world. The trademark mascot of GitHub is Octocat, an anthropomorphized cat with cephalopod limbs.
GitHub Desktop is a seamless way to contribute to projects on GitHub and GitHub Enterprise. Start a project – You’ll find all the projects you’re working on listed in the sidebar. If you’re starting a new project, use the repository drop down menu to create a new repository or clone an existing one directly from GitHub.com.
Branches are essential to proposing changes and reviewing code on GitHub—and they’re always available in the top left corner of the repository view. Just select the current branch to switch branches or create a new one. View a diff of your uncommitted changes, and form the perfect commit by selecting the files—or even the specific lines—that make up a change. Enter the summary and description, then commit.
Visualize your changes and commits in the comparison graph. You can select commits on the graph to navigate through the history of your local branches. Once you’re happy with your commits, you can open a pull request for review and discussion without leaving GitHub Desktop or touching the command line. Browse commits on local and remote branches to quickly and clearly see what changes still need to be merged. You can also merge your code to the master branch for deployment right from the app.
Git in Powershell
The standard command-line terminal on Windows (cmd.exe) isn’t really capable of a customized Git experience, but if you’re using Powershell, you’re in luck. A package called Posh-Git (https://github.com/dahlbyk/posh-git) provides powerful tab-completion facilities, as well as an enhanced prompt to help you stay on top of your repository status. It looks like this:
svn2git is a tiny utility for migrating projects from Subversion to Git while keeping the trunk, branches and tags where they should be. It uses git-svn to clone an svn repository and does some clean-up to make sure branches and tags are imported in a meaningful way, and that the code checked into master ends up being what’s currently in your svn trunk rather than whichever svn branch your last commit was in.
Follow me on GitHub
Using Github with wordpress.org plugin SVN | Teleogistic
Convert SVN Repositories to Git Repositories — Brent O’Connor’s documentation
Effectively Using Git With Subversion | Viget
Practical tips for using Git with large Subversion repositories
Migrating from SVN to Git, preserving branches and tags | Sailmaker Blog
SubGit :: Svn To Git Migration
Converting a 5-year-old repository from Subversion to Git – DoneDone