Difference between revisions of "Sandbox:Piffpoof"

From FreeCAD Documentation
Jump to: navigation, search
(Selecting the Git or GitHub Software)
 
(77 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{VeryImportantMessage|'''Sandbox Page for "Piffpoof"'''}}
 
{{VeryImportantMessage|'''Sandbox Page for "Piffpoof"'''}}
=Using Git  and the GitHub Repository=
 
==Introduction==
 
The [http://www.freecadweb.org/ FreeCAD] system is programmed, tested and documented by numerous people spread around the world. A commercial hosting service called [https://github.com/ GitHub] is used to contain all the working and archive source code and test data for the project. Additionally it holds all the changes and version history for the source code and data. A separate website is used for discussion [http://forum.freecadweb.org/ forums] and a documentation [http://www.freecadweb.org/wiki/index.php?title=Main_Page Wiki]. GitHub is based on the [http://git-scm.com/ Git] system which is a distributed revision control system and is free software under the GNU General Public License. (Git documentation, which GitHub uses, is available [http://git-scm.com/doc here]) The GitHub allows persons involved with the FreeCAD project to work independently and coordinate documents (e.g. code, data) through GitHub as needed. New versions of FreeCAD are generated using GitHub and bugs are identified and rectified using GitHub. GitHub provides the following services for the FreeCAD project:
 
  
*distributed revision control
+
This holds (or points to) things of a transient nature being worked on by Piffpoof.
* source code management
 
* a command-line tool
 
* web-based graphical interface via the desktop
 
* access control
 
  
FreeCAD uses GitHub in two main areas:
+
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof4|Linking Scripts and FreeCAD files to Wiki Pages]]>>>
  
* source code management and system build
+
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof1|Git for Users]]>>>
* storage and revision control of data files
 
  
These 2 related but separate areas are covered in the two following sections.
+
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof5|Macro SelectVisible]]>>>
  
==Setting up Git and GitHub==
+
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof6|Groups]]>>>
===Getting a GitHub Signon ID===
 
The FreeCAD repositories are located on the GitHub servers and each GitHub user must have a User ID so the first thing is to get set up. Go to www.github.com where you will supply the usual:
 
  
* User Name
+
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof7|FreeCAD GUI for Data Manipulation]]>>>
* contact email account
 
* password
 
  
Select the the plan that suits your needs, the Free account (0$ per month for 0 private repositories) is sufficient for working with the FreeCAD repositories.
+
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof8|Examples on GitHub]]>>>
  
You are now ready to set up access to GitHub.
 
  
===Selecting the Git or GitHub Software===
+
::All the following tutorials use Example Files on GitHub:
 +
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof9-0|Tutorial Examples 0 - Tutorials Overview]]>>>
 +
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof9-1a|Tutorial Examples 1a - Lock Housing tutorial using Part wb & Pocket]]>>>
 +
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof9-1b|Tutorial Examples 1b - Lock Housing tutorial using Part Design wb & Sketcher]]>>>
 +
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof9-1c|Tutorial Examples 1c - Lock Housing tutorial using Part wb & Thickness]]>>>
 +
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof9-2a|Tutorial Examples 2a - Key tutorial using Part Design wb & Sketcher]]>>>
 +
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof9-2b|Tutorial Examples 2b - Key tutorial using Part wb & Booleans]]>>>
 +
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof9-3|Tutorial Examples 3 - Animation of Key tutorial]]>>>
  
FreeCAD uses the GitHub servers, there are two options to interact with them:
 
  
* GitHub offers 2 desktop apps which have GUI interfaces:
+
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof10|Keyboard Quick Reference Card]]>>>
** [https://mac.github.com/ GitHub on Mac]
 
** [https://windows.github.com/ GitHub on Windows]
 
**there doesn't appear to be one for Ubuntu and Fedora but there are a number of [http://git-scm.com/download/gui/linux 3rd party GUIs for Git]
 
* the Git protocol which is a command line mode interface
 
  
This page will only document the command line mode interface as the GUI apps come with their own documentation and are specific to the platform.
+
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof11|Proposed revision of Wiki Tutorial Page - Phase I]]>>>
 
+
* <<<DRAFT status edits for a page on [[Sandbox:Piffpoof11a|Proposed revision of Wiki Tutorial Page - Phase II]]>>>
===Installing the Git Software===
 
 
 
For the 3 platforms:
 
 
 
<div class="mw-collapsible mw-collapsed toccolours">
 
===Macintosh Installation===
 
<div class="mw-collapsible-content">
 
 
 
        go to Source Forge and download the .DMG file
 
        Create a folder that will hold the Git install image and later the Git repositories.
 
        Double-click the DMG file (which will be in the Downloads folder), Once it is mounted open it in a Finder window and copy the contents to the folder you created.
 
        Double-click the package (ends in .PKG) to install GIT. This will install git to /usr/local/git. Root access is required. It will ask for an administrator account and password.
 
 
 
        Git should now be installed and operational. You can now start using it as described in the next section. If  you want to check it simply type git and the system will list the git summary of commands.
 
</div>
 
</div>
 
 
 
 
 
<div class="mw-collapsible mw-collapsed toccolours">
 
===Ubuntu & Fedora Installation===
 
<div class="mw-collapsible-content">
 
{{VeryImportantMessage|'''This needs to be written'''}}
 
</div>
 
</div>
 
 
 
 
 
<div class="mw-collapsible mw-collapsed toccolours">
 
===Windows Installation===
 
<div class="mw-collapsible-content">
 
{{VeryImportantMessage|'''This needs to be written'''}}
 
</div>
 
</div>
 
 
 
==Using Git and GitHub With Files==
 
 
 
    go to the GitHub home page and sign in
 
    create a new repository on GitHub as outlined here
 
        click on the plus sign ("+") on any page
 
        give your repository a name
 
        a description always helps
 
        set your repository as public/private
 
            Note: if you are on the free (i.e. pay no money plan) then you can only create a Public repository
 
        do not check the box or select the 2 menus to create any of the optional items (e.g. README, license, .gitignore) as they may conflict later cause a conflict
 
        click Create Repository
 
        leave this webpage open as it will be needed in the next step
 
    upload your files to your newly created repository as outlined here
 
        open up the Terminal application
 
        change your working directory to the folder holding your file:
 
        cd ~/Desktop/myFirstRepository
 
        intialise the directory as a local Git repository:
 
        git init
 
        add the files in your new (on disk)  repository
 
        git add .
 
        notice that there is a space and a period fallowing the command
 
        now commit them to the GitHub repository with a descriptive comment
 
        git commit -m 'First commit of my files to my repository'
 
        your files are now copied to the GitHub repository and put under version control.
 
        return to the webpage from the previous step, click on the icon to copy the URL of your repository on the GitHub server, the URL will be of the form:
 
        https://github.com/yourUserID/myFirstRepository.git
 
        you can also copy this URL by normal means
 
        in the Terminal application enter:
 
        git remote add origin https://github.com/yourUserID/myFirstRepository.git
 
        which will designate the central version of the repository on the GitHub server as the master copy (i.e. the origin)
 
        still in the Terminal enter:
 
        git push origin master
 
        this will copy the changes from your local on-disk repository to the central master copy located on the GitHub server. you will be asked for your GitHub User ID and password.
 
        your new repository is now fully created on the GitHub server
 
    adding files to the repository
 
        move or copy the new files that you wish to add to the Git repository directory on your local disk: (~/Desktop/myFirstRepository in the example above)
 
        in the Terminal application set your working directory the local repository:
 
        cd ~/Desktop/myFirstRepository
 
        enter:
 
        git add yourNewFile1.jpg
 
        git add yourNewFile2.txt
 
        this will add the 2 files to your local Git repository
 
        as with the previous example, now commit them to the GitHub repository with a descriptive comment
 
        git commit -m 'adding 2 new files to fill in the gaps'
 
        your files are now copied to the GitHub repository and put under version control.
 
        and finally copy the files from your local repository to the central one:
 
        git push
 
        your 2 new files are now both in your local repository as well as propagated to the central repository on GitHub
 
    making changes to files in the repository
 
 
 
==Using Git and GitHub to Build FreeCAD ==
 
{{VeryImportantMessage|'''This needs to be written'''}}
 

Latest revision as of 10:00, 20 February 2016

Sandbox Page for "Piffpoof"


This holds (or points to) things of a transient nature being worked on by Piffpoof.

  • <<<DRAFT status edits for a page on Groups>>>


All the following tutorials use Example Files on GitHub: