I'd suggest to keep it simple :).
Move source code to github and use the issue tracking and pull request cababilities.
One master branch might be all that's needed as you probably want to upload stable releases to codeplex anyway.
So for end-user there would be no change to the current situation, they go to codeplex and find downloadable releases and documentation.
Contributors on the other side would go to github.
[Optionally]
In order to get them working effectively
Move source code to github and use the issue tracking and pull request cababilities.
One master branch might be all that's needed as you probably want to upload stable releases to codeplex anyway.
So for end-user there would be no change to the current situation, they go to codeplex and find downloadable releases and documentation.
Contributors on the other side would go to github.
[Optionally]
In order to get them working effectively
- choose some Github workflow that work best for you.
- break down the current code into smaller, testable pieces
-
establish a build process (e.g. grunt.), ideally backed up by travis that is running tests on every build.