introduction to github - new england vtug winter warmer
TRANSCRIPT
GitHub - Getting StartedJonathan Frappier – Senior Technical Consultant Dell EMC & vBrownBag CrewYour career depends on re-inventing yourself, GitHub MUST be in your skillset
Disclaimer*
Always assume:
• When I say how awesome something is what I really mean “In most cases” that thing is awesome
• Here is one way you could do it, there are many others
• I can’t draw 7 red lines all perpendicular with red, green, or transparent ink
Why do I need to learn Git?
“In short, software is eating the world.”
Marc Andreessen 2011 http://on.wsj.com/1Hkyems
What does that even mean?
http://www.visualcapitalist.com/
Largest Companies by Market Cap
2001
2016
What does that even mean?
Uber, the worlds large taxi company owns no vehicles. Facebook, the worlds most popular media owner
creates no content. Alibaba, the most valuable retailer has no inventory, & AirBnB, the worlds largest accommodation provider owns no real estate.
angel.co 2015
Why do I need to learn Git?
Why: Your career depends on re-inventing yourselfHow: By embracing, learning, and accepting thenew skills required to say relevantWhat: DevOps, Ansible, Puppet, Terraform, AWS,And GitHub via this awesome talk
What is Git
Git is a free and open source distributed version control system
“DevOps is a cultural and operational model that foster collaboration to
enable high performance IT to achieve business goals”
Brian Gracely, Wikibon
Setup
Easy to setup
choco install git
Download, double click, next next next next next….
yum install gitapt-get install git
xcode-select --install
Post Install Setup
git config --global user.name <username>
git config --global user.email <email address>
ssh-keygen –o –a 100 –t ed25519 –C <email address> (provide passphrase)
Easy to setup
In Windows, switch to installdir\git\bin and run sh.exe. Now run
ssh-keygen –o –a 100 –t ed25519 –C <email address> (provide passphrase)
SSH Key Setup
Easy to use
git config --global user.name <username>
git config --global user.email <email address>
ssh-keygen –o –a 100 –t ed25519 –C <email address> (provide passphrase)
GitHub Basics – Overview1
2
3
4
5
upstream repo
origin repo
local repo
fork
pull request
clonepush
Modify and commit
GitHub Basics – Create a Repository
https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
GitHub - Getting Beyond Basics…DON’T LET THIS NEXT SECTION SCARE YOU! YOU DON’T NEED
THIS TOMORROW!!!
WARNING!!!!!
GitHub is PUBLIC!!!!!
• Clean your code
• Don’t hard code usernames, passwords
• Don’t put sensitive files in local repos
Tips
• If its sink or swim..
• Don’t jump into the deep end
• Invest in good technique
• Use the buddy system
• It takes time to go bananas
• Practice, practice, practice
Give me more!
Gitting out of a mess with Katie Sylor-Miller @ksylor http://bit.ly/vbbgitmess & ohshitgit.com
Writing a good README.md with Mike Mars @mmars http://bit.ly/vbbgitmess
Join Commitmas & Commitmakkuh! https://github.com/commitmas
Next Steps
• Check out Commitmas http://bit.ly/Commitmas2
• Practice on https://try.github.io or http://rogerdudler.github.io/git-guide/
• Install git on your computer, sign up for an account, and create a repo
• Find a project you can contribute to, or start your own
• Dig in https://git-scm.com/book/en/v2/
Next Steps for PowerShell CodersVester:Vester is a community project that aims to provide an extremely light-weight approach to vSphere configuration management using Pester and PowerCLI. The end-state configuration for each vSphere component, such as clusters and hosts, are abstracted into a simple config file. The configuration is tested and optionally remediated when drift is identified. The entire project is written in PowerShell.
https://github.com/WahlNetwork/Vester
Next Steps for Python CodersAnsible:Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications— automate in a language that approaches plain English, using SSH, with no agents to install on remote systems. http://ansible.com/
https://github.com/ansible/ansible
https://github.com/ansible/ansible-modules-extras/tree/devel/cloud/vmware
Next Steps for oh sh!t I can’t code Coders
• Find a project you’re interested in and contribute documentation
https://github.com/ansible/ansible/tree/devel/docsite/rst
• Get started with PowerCLI and PowerShell, go ask @kmruddy a bunch of questions, put it in GitHub
• Learn to code (https://www.freecodecamp.com)