Difference between revisions of "Github"

From WeBWorK_wiki
Jump to navigation Jump to search
 
(145 intermediate revisions by 8 users not shown)
Line 1: Line 1:
  +
===Installation Manuals===
   
{{warning |This page is still under construction use with caution}}
 
  +
see [[:Category:Installation Manuals| Current Installation Manuals]]
   
  +
=== WeBWorK software download ===
  +
WeBWorK online homework software is located at http://github.com/openwebwork.
  +
webwork2 -- the instructor and user interface
  +
pg -- the macros for rendering questions
  +
webwork-open-problem-library -- library of 35K+ homework questions
   
== GitHub ==
+
=== Github Overview ===
  +
The page '''[[Github Overview]]''' provides a more conceptual description of git and Github.com. It has instructions for using git and github as a developer as well as additional advanced tricks and shortcuts for keeping a WeBWorK installation up to date.
   
  +
=== Quick instructions for updating WeBWorK to the GitHub version ===
  +
* [[Upgrading_WeBWorK_with_Github]] more recent version of these notes for those already using github.
  +
*[[:Category:Release_Notes]]
   
===Overview===
+
[[Github Overview]]
Git is the name of a distributed version control system. It plays the role of the CVS or SVN control systems that WeBWorK has used in the past
 
but the details of how it works are somewhat different. For obtaining up-to-date copies of software there is not much difference between git
 
and previous VCS. Developers however should read closely since git has a different conceptualization of how version control should be handled.
 
The difference allows considerably more flexibility for collaborative development. Consolidation no longer depends on a single site or single
 
administrator. Updates are also more modular and therefore easier to check and repair or remove if they cause trouble.
 
 
 
Git has many capabilities and can be used in many different ways. This page outlines a subset of git commands and workflows that seems to work
 
well for WeBWorK.
 
 
 
'''Github.com''' is a site which facilitates the collaborative development of open source projects. These sites are open (read-only) to the world.
 
WeBWorK has a master site at https://www.github.com/openwebwork where accepted modifications are being consolidated. The following repositories are
 
available at that site.
 
* webwork2 -- the course management face of WeBWorK
 
* pg -- the macros that help render the PG questions
 
* NationalProblemLibrary -- collection of questions (not yet implemented -- for now Jason Grout's repository at:
 
* wwmoodle -- plugins that connect moodle and webwork
 
* ww_question_server -- another plugin project connecting moodle question types to the WeBWorK webservice
 
* admintools -- a collection of command line scripts used by larger sites serving WeBWorK
 
 
=== Contributing to WeBWorK ===
 
 
=== Workflow ===
 
On your local git repository the following workflow seems to minimize clashes with work being done elsewhere.
 
 
* clone the remote repo
 
*git checkout -b my_new_feature
 
*..work and commit some stuff
 
*git pull origin master (pull changes from the upstream github repository into your master copy)
 
*git rebase master (apply updates to your my_new_feature branch so that it looks like it branched from the updated master copy)
 
*..work and commit some stuff
 
*git pull origin master
 
*git rebase master
 
*..finish the feature
 
*git checkout master
 
*git merge my_new_feature
 
*git push origin master (publish your current changes to your github account)
 
* Issue pull request to openwebwork
 
 
Individual developers for webwork also have their own sites (analogous to the branches in SVN, but more easily accessible)
 
* Michael Gage: https://www.github.com/mgage
 
* Jason Aubrey: https://www.github.com/aubreyja
 
* Arnie Pizer: https://www.github.com/apizer
 
   
 
== References for GitHub and Git ==
 
== References for GitHub and Git ==
   
  +
For those who are ready for complete immersion into all things git -- here are several references.
   
 
* Pro Git book http://progit.org/
 
* Pro Git book http://progit.org/
Line 15: Line 25:
 
(unreviewed at the moment -- YMVV)
 
(unreviewed at the moment -- YMVV)
 
*http://gitref.org/ quick reference
 
*http://gitref.org/ quick reference
* http://help.github.com/send-pull-requests/
+
* https://help.github.com/articles/using-pull-requests
 
* https://github.com/blog/966-improved-subversion-client-support
 
* https://github.com/blog/966-improved-subversion-client-support
* Version Control by Example by Eric Sink which is available at http://www.ericsink.com/vcbe/
 
  +
* git cheat sheet: http://byte.kde.org/~zrusin/git/git-cheat-sheet-medium.png
* see also [[Git]] for more references
 
  +
* Version Control by Example by Eric Sink which is available at http://www.ericsink.com/vcbe/
 
  +
* http://nvie.com/posts/a-successful-git-branching-model/ a potential workflow model for WeBWorK development -- we're still working on refining a workflow
  +
* see also [[Github Overview]] for more references
   
[[Version_Control]]
+
[[Category:Version_Control]]
  +
[[Category:Installation]]
  +
[[Category:Github]]

Latest revision as of 12:54, 7 October 2021

Installation Manuals

see Current Installation Manuals

WeBWorK software download

WeBWorK online homework software is located at http://github.com/openwebwork.

webwork2 -- the instructor and user interface
pg       -- the macros for rendering questions
webwork-open-problem-library  -- library of 35K+ homework questions

Github Overview

The page Github Overview provides a more conceptual description of git and Github.com. It has instructions for using git and github as a developer as well as additional advanced tricks and shortcuts for keeping a WeBWorK installation up to date.

Quick instructions for updating WeBWorK to the GitHub version

Github Overview

References for GitHub and Git

For those who are ready for complete immersion into all things git -- here are several references.

(unreviewed at the moment -- YMVV)