Contenu connexe Similaire à Giddy Up on GitHub (20) Giddy Up on GitHub2. 2
Abstract
Introduction to GitHub and why it has taken the open-source community
by storm. Examples of community-driven software projects in GitHub and
an introduction to the Rocket MultiValue Lab’s GitHub repository and what
you can find there. An introduction to the Git software versioning system
and how it is integrated with GitHub.
©2015 Rocket Software, Inc. All Rights Reserved.
3. 3
Agenda
What is Git/GitHub and why it has become so
popular?
Rocket Software MV Lab’s GitHub repository
How you can contribute to MV Lab examples
Git version controlled UniData installation
©2015 Rocket Software, Inc. All Rights Reserved.
4. 4
Why is GitHub so important
Open Source is taking the software world by storm
How can you effectively join this movement or learn about it?
GitHub has become the center of this new universe!
Rocket should take advantage of this new paradigm
MV Lab has created our own GitHub presence to share code
and ideas
We are looking for more contributions and creating a
community around it!
©2015 Rocket Software, Inc. All Rights Reserved.
5. 5
What exactly is GitHub?
GitHub is an online repository for sharing projects with version control (Git)
Provides a social networking aspect of open-source project work
Origins - 24 February 2009: First year it had 46,000 public repositories
July 2012 Techcrunch: Andreeson Horowitz Venture Capitol
announced a whopping $100 million investment in GitHub
December 2013: GitHub announced it had reached 10 million
repositories (now at 25.8 million repositories)
The future of open-source (perhaps most) software development is HERE!
©2015 Rocket Software, Inc. All Rights Reserved.
6. 6
What is Git and why is it important?
Git is a Version Control (Source Control) System
• Much like CVS, SVN - command line interface
some commands (for example, “commit”) will seem familiar across systems
• Encourages distributed or peer-to-peer repositories (unlike CVS,SVN!)
• Roots in Mercurial and Bitkeeper
Invented by Linus Torvalds and Linux developers
• Solves many ‘distributed’ VCS problems
• Named after the British term ‘Git’ - an unpleasant or contemptible
person – Linus poking fun at himself!
©2015 Rocket Software, Inc. All Rights Reserved.
7. 7
GitHub concepts
Information can be made Public (free) or Private (small charge)
Public repositories can be “zipped” and downloaded anonymously
If you want to contribute or comment, you must create a GitHub account
(free!)
“Fork” a repository to make your own independent copy
“Pull request” is how you notify the admin that you want to contribute your
changes “upstream” to the repository you forked (the admin “Pulls” in your
changes from your repo and merges into original code stream).
A windows GUI local client (or Linux) is available for syncing to a GitHub repo
Will demo the use of both
©2015 Rocket Software, Inc. All Rights Reserved.
8. 8
Flow of changes and repositories
Upstream
(Rocket)
Fork
(jzagnoli)
Fork
Local
(laptop)
Clone/Sync
Pull
Project
Skynet
My
Project
Skynet
Working
Copy of
SkynetCommit/Sync
©2015 Rocket Software, Inc. All Rights Reserved.
10. 10
GitHub getting started
https://github.com/join – setup an account and take the
GitHub Bootcamp
https://help.github.com – Help and FAQ’s
https://guides.github.com - great tutorials available
https://github.com/explore - Interesting projects
• Look at some featured or popular projects
https://try.github.io/levels/1/challenges/1 - interactive
command line tutorial
©2015 Rocket Software, Inc. All Rights Reserved.
11. 11
Join GitHub and get started today!
©2015 Rocket Software, Inc. All Rights Reserved.
12. 12
Browse a popular project on GitHub
jquery.org – one of the most popular JavaScript libraries
• http://contribute.jquery.org/bug-reports has links directly to the GitHub
repositories where the source lives
• jQuery Foundation projects source - https://github.com/jquery
• Complete source is on GitHub - https://github.com/jquery/jquery
• Active community of contributors – 232
• README.md has general info about project and build
• Wiki has information about project rules
• Download ZIP copies entire project directory to your desktop!
©2015 Rocket Software, Inc. All Rights Reserved.
13. 13
Dive into jQuery (a popular project on GitHub)
Commits show changes to repository and comments
(5917)
Issues track bugs and requests to fix (104 open, 545
closed)
Pull requests are proposed changes to source that have
not been accepted (or merged) (17 open, 1933 closed)
Forks allow you to develop on your own and contribute
back if you want (9151)
Pulse is synopsis of activity in last week
©2015 Rocket Software, Inc. All Rights Reserved.
16. 16
Rocket Software MV lab GitHub contents
Why is MV on GitHub?
Program examples for both U2 and D3 products:
• https://github.com/RocketSoftware/multivalue-lab
• Useful utility programs
• Techday demos for U2 and D3
Separate Python Beta repository w/user contributions
• https://github.com/RocketSoftware/PythonBetaProject
©2015 Rocket Software, Inc. All Rights Reserved.
20. 20
Process steps using Windows GitHub Client to
download / share demo projects
Create a GitHub account/Fork Rocket Multivalue-Lab Repo/
Install Windows GitHub client (https://windows.github.com)
Clone your GitHub repository to your desktop
Create/Modify/Commit changes locally
Sync your changes to your GitHub Repository (others can see your project now)
Create Pull request for Rocket Software administrator. Please add a readme if it
is a new example, explaining how to use it.
(Rocket) – accept Pull Request and merge changes, or reject and suggest
changes before accepting
©2015 Rocket Software, Inc. All Rights Reserved.
22. 22
Git Commands for Linux command line
git init creates a new “clean” local repository
git clone https://github.com/jzagnoli/multivalue-lab.git creates a new local clone
with all of your GitHub files
git add fname add a file to the working copy
git status show status of working copy
git rm fname remove from repository/working copy
git mv fname move a file in repo/working copy
git commit –m ‘commit message’ commit to local repo
git push origin send new commits to your GitHub repository
©2015 Rocket Software, Inc. All Rights Reserved.
23. 23
Version control anywhere
A new Git repository can be created just about
anywhere
Example – Version control a UniData installation:
• Install GitHub client on Windows to get powershell version
Poshgit
• Version a UniData installation already present
• Change a udtconfig parameter using Xadmin
• View change log in git for directory
©2015 Rocket Software, Inc. All Rights Reserved.
24. 24
Version control anywhere
Open git shell command prompt:
• Change to the c:u2ud81 installation directory
• add a .gitignore file with any directory not wanted to be versions
i.e. demo/ files , python/Lib/test (950)
• git init (initialized repository)
• git add * (add all files to working copy)
• git commit * (commit files to repository)
• git status (show working copy is clean)
• Modify udtconfig using Xadmin
• git status, git diff to show changes!
©2015 Rocket Software, Inc. All Rights Reserved.
25. 25
Additional Resources
Links to various GitHub resources are in the slides themselves
Links:
• https://github.com/RocketSoftware
• https://github.com/join
• https://guides.github.com
©2015 Rocket Software, Inc. All Rights Reserved.
26. 26
Next Steps
Join GitHub and get started by downloading and/or forking the Multivalue-lab
repository
Explore other projects on GitHub
©2015 Rocket Software, Inc. All Rights Reserved.
27. 27
Summary
GitHub is taking the open-source software
development community by storm
Become familiar with the future of software
development
Contribute to Rocket Software’s Multivalve Lab Demo
code base
©2015 Rocket Software, Inc. All Rights Reserved.
28. 28
Disclaimer
THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.
WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED
IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
IN ADDITION, THIS INFORMATION IS BASED ON ROCKET SOFTWARE’S CURRENT PRODUCT PLANS AND STRATEGY,
WHICH ARE SUBJECT TO CHANGE BY ROCKET SOFTWAREWITHOUT NOTICE.
ROCKET SOFTWARE SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR
OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF:
• CREATING ANY WARRANTY OR REPRESENTATION FROM ROCKET SOFTWARE(OR ITS AFFILIATES OR ITS OR
THEIR SUPPLIERS AND/OR LICENSORS); OR
• ALTERING THE TERMS AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT GOVERNING THE USE OF
ROCKET SOFTWARE.
©2015 Rocket Software, Inc. All Rights Reserved.
29. 29
Trademarks and Acknowledgements
The trademarks and service marks identified in the following list are the exclusive properties of Rocket Software,
Inc. and its subsidiaries (collectively, “Rocket Software”). These marks are registered with the U.S. Patent and
Trademark Office, and may be registered or pending registration in other countries. Not all trademarks owned by
Rocket Software are listed. The absence of a mark from this page neither constitutes a waiver of any intellectual
property rights that Rocket Software has established in its marks nor means that Rocket Software is not owner of
any such marks.
Aldon, CorVu, Dynamic Connect, D3, FlashConnect, Pick, mvBase, MvEnterprise, NetCure,
Rocket, SystemBuilder, U2, U2 Web Development Environment, UniData, UniVerse, and
wIntegrate
Other company, product, and service names mentioned herein may be trademarks or service marks of
others.
©2015 Rocket Software, Inc. All Rights Reserved.