INTRODUCTION TO GITHUB Rakesh Sukumar
Agenda • What is Git & Github ? • Github Structure • Important Concepts for Github Users • Understanding Github workflow • Setting up Github • Github Desktop Demo
What is Git & Github ? Git is an example of version control Version control is a system that records changes to a file or set of files and helps us recall specific versions later if needed. E.g. Subversion (SVN), CVS etc It allows you to : • Revert files or the whole project to an earlier state • Compare changes over time • See who modified what? • Control modifications by collaborators with the permission of admin/owners Github is a a repository hosting service for Git • While Git is a command line tool, GitHub provides a web-based graphical interface that works on top of GIT. It can also be treated as a social platform to share knowledge and work. • It also provides access control and several collaboration features, such as wikis and basic task management tools
REMOTE REPOSITORY Github Structure Personal user account Organization account PUBLIC PRIVATE PUBLIC PRIVATE • Unlimited public repositories and collaborators on all plans • Limited Private repositories • Ability to add unlimited repository collaborators • Public repositories are open to view and copy but not commit changes. • Organizations are great for that need multiple owners & admins. • Limited private repositories (> Personal) • Team-based access permissions • Unlimited owners, admins, & collaborators using teams CLONE TO GET LOCAL REPOSITORY SYNC
Important Concepts for Github Users Creating a repo Creating a repository for multiple people to work together Master in a repository This is the final version that is considered ready to use by anybody in the team or outside if repository is public. Creating a Branch • Create a branch in your project, for an environment where you can try out new ideas. • Changes you make on a branch don't affect the master unless pull request is accepted. • Changes committed to branch reflects for you to keep track of different versions Adding Commits • Keeps track of your progress as you work on a branch or master. • Creates a transparent history that others can follow to understand what you've done and why. Forking a repository • It creates a copy for you to work on independently without any changes to theirs. • Submit a pull request to owner so that the owner can incorporate changes.
Concepts for Github Users .. Cntd Pull requests • Pull Requests initiates discussion about your commits or changes made to a code. • See exactly what changes would be merged if pull request is accepted. • Use GitHub's @mention system in your Pull Request message to ask for feedback from specific people or teams, or for someone to review your work Issues • Highlight bugs or issues with codes that need rectification. • Issues remain open unless resolved. • Can be filtered, Can be labeled as bug/enancement/ question/help wanted etc • @mention can be used to notify someone Markdown syntax • Markdown is a way to style text on the web. • Available in descriptions and comments of Issues and Pull Requests. These include @mentions as well as references to SHA-1 hashes, Issues, and Pull Requests Watch and Star Watch notifies us of all conversations over and above your @mentions, commits, comments on discussion. Star will favorite it but not show on your dashboards like watch
Understanding Github Workflow Git flow: https://guides.github.com/introduction/flow/ *Deploying the code is for development projects Commit Compare Sync or Push to branch Comment on Pull request Add Issues/ Resolve Issues Mention Individuals Close Pull request
Github Desktop Demo Link to download Github Desktop : https://desktop.github.com/
RESOURCES https://help.github.com/ http://guides.github.com http://www.slideshare.net/nicotourne/starting-with-git-git-hub-27464735?related=1

Introduction to github slideshare

  • 1.
  • 2.
    Agenda • What isGit & Github ? • Github Structure • Important Concepts for Github Users • Understanding Github workflow • Setting up Github • Github Desktop Demo
  • 3.
    What is Git& Github ? Git is an example of version control Version control is a system that records changes to a file or set of files and helps us recall specific versions later if needed. E.g. Subversion (SVN), CVS etc It allows you to : • Revert files or the whole project to an earlier state • Compare changes over time • See who modified what? • Control modifications by collaborators with the permission of admin/owners Github is a a repository hosting service for Git • While Git is a command line tool, GitHub provides a web-based graphical interface that works on top of GIT. It can also be treated as a social platform to share knowledge and work. • It also provides access control and several collaboration features, such as wikis and basic task management tools
  • 4.
    REMOTE REPOSITORY Github Structure Personal useraccount Organization account PUBLIC PRIVATE PUBLIC PRIVATE • Unlimited public repositories and collaborators on all plans • Limited Private repositories • Ability to add unlimited repository collaborators • Public repositories are open to view and copy but not commit changes. • Organizations are great for that need multiple owners & admins. • Limited private repositories (> Personal) • Team-based access permissions • Unlimited owners, admins, & collaborators using teams CLONE TO GET LOCAL REPOSITORY SYNC
  • 5.
    Important Concepts forGithub Users Creating a repo Creating a repository for multiple people to work together Master in a repository This is the final version that is considered ready to use by anybody in the team or outside if repository is public. Creating a Branch • Create a branch in your project, for an environment where you can try out new ideas. • Changes you make on a branch don't affect the master unless pull request is accepted. • Changes committed to branch reflects for you to keep track of different versions Adding Commits • Keeps track of your progress as you work on a branch or master. • Creates a transparent history that others can follow to understand what you've done and why. Forking a repository • It creates a copy for you to work on independently without any changes to theirs. • Submit a pull request to owner so that the owner can incorporate changes.
  • 6.
    Concepts for GithubUsers .. Cntd Pull requests • Pull Requests initiates discussion about your commits or changes made to a code. • See exactly what changes would be merged if pull request is accepted. • Use GitHub's @mention system in your Pull Request message to ask for feedback from specific people or teams, or for someone to review your work Issues • Highlight bugs or issues with codes that need rectification. • Issues remain open unless resolved. • Can be filtered, Can be labeled as bug/enancement/ question/help wanted etc • @mention can be used to notify someone Markdown syntax • Markdown is a way to style text on the web. • Available in descriptions and comments of Issues and Pull Requests. These include @mentions as well as references to SHA-1 hashes, Issues, and Pull Requests Watch and Star Watch notifies us of all conversations over and above your @mentions, commits, comments on discussion. Star will favorite it but not show on your dashboards like watch
  • 7.
    Understanding Github Workflow Gitflow: https://guides.github.com/introduction/flow/ *Deploying the code is for development projects Commit Compare Sync or Push to branch Comment on Pull request Add Issues/ Resolve Issues Mention Individuals Close Pull request
  • 8.
    Github Desktop Demo Linkto download Github Desktop : https://desktop.github.com/
  • 9.

Editor's Notes

  • #5 Exploring a repo: https://training.github.com/kit/modules/COLL-01_Exploring-a-repository.html