SlideShare uma empresa Scribd logo
1 de 56
Using GitHub to Organize 
Your Project
How I lost a Client
UNORGANIZED WORKFLOW 
Pain Points of Development 
COLLABORATE ADD NEW FEATURES
Not Only For Programmers. Also For Bloggers and Writers. 
Check Out Live: Github.com/WordPress/book
What is Git? 
• Distributed Version Control 
System (VCS) 
• Created by Linus Torvalds
Git is all about composing 
and saving snapshots 
of your project 
and then working with and 
comparing those snapshots.
Tools Required To 
Use GitHub 
• Basic CLI (Command Line 
Interface) Commands 
• Basic Git Commands 
• Setup and Use a Repo
git-scm.com/download
GitHub Graphical User Interface Available for Windows and 
Mac
VS
Track All Changes, Who Made it & When it Happened
See Exactly What You Changed & Roll Back Changes
Collaboration Friendly
Organized Workflow
Branching is easy, 
which makes it easier to 
develop features in parallel
High Availability: You Can Work Offline
Most Importantly…. 
• It helps in project 
management and 
organization, which solves 
the biggest pain point for 
developers.
From now onwards, Github and WordPress will work together for 
pull requests on plugins and themes. #wcsf14 #StateoftheWord
Beginners: Basic Git Commands 
• git status: See your changed files 
• git add: Queue up files 
• git commit: Make a commit 
• git push: Push commits to GitHub.com 
• git pull: Pull latest changes from repo
git status: What has been changed & modified
git add: Add file contents to the Staging Area
git diff: Display what code/contents you’ve changed
git commit: Record snapshot of the content
git push: Push your new branches and 
data to a remote repository
VS 
• Git is a revision control system, a tool to 
manage your source code history. 
• GitHub is a hosting service for Git 
repositories. 
• Git the tool, GitHub the service for 
projects that uses Git.
A short example of a 
Local Folder Pushed 
to GitHub.com
Let’s Create a Folder named ‘WordCamp 
Nepal’ on our Desktop
Creating “WordPressInfo.html”
So now we have ‘WordPressInfo.html’ 
inside ‘WordCamp Nepal’
Uploading the 
‘WordCamp Nepal’ 
folder to GitHub
Go to GitHub.com and Create a New 
Repository
Give Repository a Name And Fill in 
the Details
Grab the code and push WordCamp 
Nepal folder to GitHub
You’ll Need to use these 
commands on your CLI to 
upload to GitHub. 
• git status: See your changed files 
• git add: Queue up files 
• git commit: Make a commit 
• git push: Push commits to 
GitHub.com
WordCamp Nepal Folder on GitHub
WordPressInfo.html on GitHub
WordCamp Nepal Folder on 
your Local Computer
WordCamp Nepal Folder GitHub.com
WordPressInfo.html on your 
Local Computer
WordPressInfo.html on GitHub
Check Out WordCamp Nepal 
Repository Live on GitHub 
github.com/manishsuwal/ 
WordCamp-Nepal/
Git Resources
Pro Git: git-scm.com/boo 
k
Git Immersion: gitimmersion.co 
m
Learn Git in your browser: try.github.i 
o
Git Reference: gitref.org
Note: GitHub Doesn’t Offer private repositories for fre 
e.
Some Alternatives To
Social 
/manishsuwal 
/manishsuwal 
Web 
/manishsuwal 
/manishsuwal 
manishsuwal.com.np 
enwil.com 
devotepress.com
Using GitHub to Organize Your Project and Collaborate Easily

Mais conteúdo relacionado

Mais procurados

Git workflow in agile development
Git workflow in agile developmentGit workflow in agile development
Git workflow in agile developmentZack Siri
 
Git and github fundamentals
Git and github fundamentalsGit and github fundamentals
Git and github fundamentalsRajKharvar
 
Git,Github,How to host using Github
Git,Github,How to host using GithubGit,Github,How to host using Github
Git,Github,How to host using GithubSujata Regoti
 
Container based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsContainer based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsCasey Lee
 
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 GolangCOSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 GolangEvan Lin
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentationMack Hardy
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIsTim Osborn
 

Mais procurados (20)

Git best practices 2016
Git best practices 2016Git best practices 2016
Git best practices 2016
 
Git workflow in agile development
Git workflow in agile developmentGit workflow in agile development
Git workflow in agile development
 
Git and github fundamentals
Git and github fundamentalsGit and github fundamentals
Git and github fundamentals
 
Git,Github,How to host using Github
Git,Github,How to host using GithubGit,Github,How to host using Github
Git,Github,How to host using Github
 
Container based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsContainer based CI/CD on GitHub Actions
Container based CI/CD on GitHub Actions
 
CI/CD with Github Actions
CI/CD with Github ActionsCI/CD with Github Actions
CI/CD with Github Actions
 
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 GolangCOSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
 
Git sourcecontrolpreso
Git sourcecontrolpresoGit sourcecontrolpreso
Git sourcecontrolpreso
 
Intro to Git & GitHub
Intro to Git & GitHubIntro to Git & GitHub
Intro to Git & GitHub
 
Git 101
Git 101Git 101
Git 101
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git'in in 15
Git'in in 15Git'in in 15
Git'in in 15
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
 
Flow
FlowFlow
Flow
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
 
Git'in on Windows
Git'in on WindowsGit'in on Windows
Git'in on Windows
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Juc boston2014.pptx
Juc boston2014.pptxJuc boston2014.pptx
Juc boston2014.pptx
 
Intro to Gitflow
Intro to GitflowIntro to Gitflow
Intro to Gitflow
 

Destaque

The development workflow of git github for beginners
The development workflow of git github for beginnersThe development workflow of git github for beginners
The development workflow of git github for beginnersGunjan Patel
 
Design theory - Wordcamp Nepal 2014
Design theory - Wordcamp Nepal 2014Design theory - Wordcamp Nepal 2014
Design theory - Wordcamp Nepal 2014Amit Bajracharya
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with GitIvano Malavolta
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHubJames Gray
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for DocumentationAnne Gentle
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...Oleg Shalygin
 

Destaque (11)

The development workflow of git github for beginners
The development workflow of git github for beginnersThe development workflow of git github for beginners
The development workflow of git github for beginners
 
Design theory - Wordcamp Nepal 2014
Design theory - Wordcamp Nepal 2014Design theory - Wordcamp Nepal 2014
Design theory - Wordcamp Nepal 2014
 
[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git[2015/2016] Collaborative software development with Git
[2015/2016] Collaborative software development with Git
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
 
Git Tutorial 教學
Git Tutorial 教學Git Tutorial 教學
Git Tutorial 教學
 
Git and Github
Git and GithubGit and Github
Git and Github
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for Documentation
 
My Git workflow
My Git workflowMy Git workflow
My Git workflow
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
 

Semelhante a Using GitHub to Organize Your Project and Collaborate Easily

Beginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdfBeginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdfGDSCKNUST
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hubNaveen Pandey
 
Intro to Git for Drupal 7
Intro to Git for Drupal 7Intro to Git for Drupal 7
Intro to Git for Drupal 7Chris Caple
 
Let's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHubLet's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHubKim Moir
 
git and github-1.pptx
git and github-1.pptxgit and github-1.pptx
git and github-1.pptxtnscharishma
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git聖文 鄭
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedHoward Greenberg
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hubJasleenSondhi
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network EngineersJoel W. King
 
Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1Omar Fathy
 

Semelhante a Using GitHub to Organize Your Project and Collaborate Easily (20)

Beginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdfBeginner Workshop for Student Developers - Tratech-presentation.pdf
Beginner Workshop for Student Developers - Tratech-presentation.pdf
 
GIT By Sivakrishna
GIT By SivakrishnaGIT By Sivakrishna
GIT By Sivakrishna
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
 
Intro to Git for Drupal 7
Intro to Git for Drupal 7Intro to Git for Drupal 7
Intro to Git for Drupal 7
 
Git and GitHub Info Session
Git and GitHub Info SessionGit and GitHub Info Session
Git and GitHub Info Session
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Intro to Git, GitHub, and BitBucket
Intro to Git, GitHub, and BitBucketIntro to Git, GitHub, and BitBucket
Intro to Git, GitHub, and BitBucket
 
Git hub visualstudiocode
Git hub visualstudiocodeGit hub visualstudiocode
Git hub visualstudiocode
 
Let's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHubLet's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHub
 
git and github-1.pptx
git and github-1.pptxgit and github-1.pptx
git and github-1.pptx
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git
 
Git tech
Git techGit tech
Git tech
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub Explained
 
Advance workshop on git
Advance workshop on gitAdvance workshop on git
Advance workshop on git
 
Git Training
Git TrainingGit Training
Git Training
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network Engineers
 
database.pptx
database.pptxdatabase.pptx
database.pptx
 
Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1
 

Último

Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 

Último (20)

Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 

Using GitHub to Organize Your Project and Collaborate Easily

Notas do Editor

  1. Hello Everybody, welcome to WordCamp. Today I’m here to speak about Git, GitHub and WordPress.
  2. I had a client come up to me and say that she want her website redesigned. I agreed to redesign and basically made changes to her existing theme files. After the website was redesigned she ran a feedback form for her audience’s input on the new redesigned website. She figured out that her readers preferred the old site compared to the new one because they were used to it. So after some months, she came back to me and asked me to bring back her old website. I had a problem here. I didn’t have backup of her old files because I made changes to her existing theme files. And I had no system to roll back past changes. Which made me code again. It was painful for me to code again. At the end, I couldn’t make it look like her old site. My client was angry and I lost her. She figured out that her readers preferred the old site because they were used to it and also because it’s functionality. She then thought of keeping the functionality same as that of her old site and then only making changes to the styles. She then, after two months, said to me that she wanted her old site back. I had a problem here. I didn’t have backup of her old theme files because I had made changes to her existing theme files. Also, even if I did had her old theme files, I didn’t have any system to go back and roll back those changes. After that I had to go through this painful period where I had to redesign her website again to look like her old site. But I couldn’t make it look like her old site because I didn’t have any idea of how it looked. Hence, she was angry at me and I lost the client.
  3. This not only happens while working for clients, but also happens while working for yourself. When I first figured about WordPress, I started creating WordPress themes. I used to have a folder for creating theme files. Whenever I used to add new feature, I used to create a new folder just for the feature just incase it doesn’t work out. If the new feature wouldn’t work out, I’d could delete the folder and go back to the old files. But it wasn’t practical. My workflow was getting pretty messy. I couldn’t roll back changes either. So, these were the pain points: Backup Unorganized and Messy Workflow Difficult to Add New Features to your Projects Hard to Collaborate with Others Difficult to Track Changes I then started searching for a solution to solve all these problem. Did some research and figuerd about git.
  4. It did solve all my previous mentioned problems.
  5. Now, if you are not a developer or a programmer, you can still benefit from Git. Because it’s not just for programmers, but also for writers and bloggers. It’s just a system which anyone can use it to organize their project. For example, WordPress is writing a book on the history and development of WordPress using github. They are basically able to collaborate with anyone in the world. Without github, it would have been very difficult for them to collaborate. So, github is not only for programmers and developers, but also for writers and bloggers.
  6. So, what is git?
  7. In short….
  8. These are the basic tools you’ll require to use github. Basic CLI. Basic Git Commands and setting up and using a repo.
  9. You need to install git first to start using it. Whatever operating system you’re using, you can download git from git-scm.com/download. Git-scm.com/download You can download git from git-scm.com/download. It’s available for mac, windows and linux from there.
  10. Anyone who’s not comfortable with command line or terminal can use GUI for GitHub. However, command line is recommended because it’s more powerful than the GUI, and offers lots of other features which GUI doesn’t offer. If you’re just starting out then GUI can be helpful to you because you’ll be able to see how things work.
  11. Also, other 3rd party GUI clients are also available. Example includes Tower, Gitbox for mac. Git Extentions for Windows. Giggle, Gitg for Linux. And whole other range of GUI clients. You can google for it.
  12. Okay, but what’s the difference of using GitHub and using backup solutions like dropbox and google drive? You might be wondering why you’ll need to use dropbox if you already have backup of it in dropbox. So, I’ll walk you through the features and advantages of using github.
  13. Once you push your repo to GitHub, you can track all changes. See who changed it and when it happened. You cannot do this with backup solutions like dropbox.
  14. You can also see exactly what you changed and roll back those changes if required. It’s interface is similar to WordPress’s post revision control. The red highlighted area shows you your previous content whereas the green highlighted area shows you your recent content.
  15. As I’ve said before it was very difficult and almost impossible for me to collaborate with my friend who wanted to help me. I didn’t have any system for that. But github offers this. It’s very easy to collaborate with other developers on GitHub.
  16. Once you start using git, you’ll not require many folders. One folder will be enough to manage your workflow, which makes it pretty organized. Once you start using git, you won’t have lots of folders. Like I said before, I used to create lots of folders for a theme while I’d create a new feature. But now while working with git, if you want to create a new feature, you can simply create a branch. If you like it, you can merge it. If not, delete it.
  17. You can think of branch as a way to request a brand new working directory, staging area, and project history. It helps you create a new feature, and incase it doesn’t work, you can delete it and simply go back to what you were developing. However, if it does work out, you can merge it with the main repo.
  18. If you get on an airplane or a train and want to do a little work, you can commit happily until you get to a network connection to upload. If you go home and can’t get your VPN client working properly, you can still work. In many other systems, doing so is either impossible or painful.
  19. This was my biggest pain point and it solved it.
  20. On this year’s WordCamp San Francisco State of the Word, Matt announced that GitHub and WordPress will now work together for pull requests.
  21. These are the basic git commands which you can learn to start playing around with git. I’ll walk you through them.
  22. We use git status to see what the state our project is in. If you’ve added new files or modified some existing files. Here, in the green, you can see two new files READE and hello.rb; and also in the red README which has been modified. So, it basically shows us what state our project is in.
  23. You will use git add to start tracking new files and also to stage changes to already tracked files. You can see that README and hello.rb are not staged. After we do git add, they are staged for commit. Git add basically makes our files commit ready.
  24. git diff will display what code or content you've changed in your project. The red highlighted text shows your previous data and the green highlighted area shows your recent data. You can also see the plus and minus sign, which explains the same thing.
  25. You run git commit to record the snapshot of your staged content. You stage changes by doing git add as I’ve mentioned previously, and git commit to record the snapshot of your staged content. This snapshot can then be compared, shared and reverted to if you need to.
  26. To share the cool commits you've done with others, you need to push your changes to the remote repository. Which shows up in GitHub. If you don’t git push, your repository won’t get uploaded to GitHub.
  27. These are the basic commands in the initial stage that you’ll be using to work with git. However, once you go deep into git, you’ll require more and more git commands.
  28. You can think of git as creating a website on your localhost. You can only work on it and view it. But for you to make it available to everyone, you’ll need to upload it to a web hosting service. And github is basically like a webhosting service.
  29. WordCamp Nepal folder on our desktop.
  30. I created this WordPressInfo.html file just for the demonstration purpose. Added some basic html.
  31. Go to github.com and create a new repository.
  32. Give repository the same name as in the desktop, which is ‘WordCamp Nepal’.
  33. Simply grab the code and push the folder to github.com.
  34. You can use the previously mentioned git commands to upload it to github.com
  35. So, now we have wordcamp nepal folder on github.
  36. And wordpressinfo.html on github.
  37. WordCamp nepal folder on your local computer looks like this.
  38. Wordcamp nepal folder on github.com looks like this. You can see the repo name here. The folder structure here.
  39. This is the text editor where I wrote some basic html. This is how it looks on our local computer.
  40. And this is how it looks on github.com
  41. You can check it out live on github.com by going to.
  42. Pro git is a book by scott chacon that has everything you need to know about git from beginning until the end. It’s available for free online and as ebook.
  43. Git immersion is a guided tour that walks you through the fundamentals of git. You can learn it in your browser.
  44. Learn git is my personal favorite. It’s an interactive tutorial which is similar to codeacademy, but for git.
  45. For all the git commands, you can bookmark gitref.org for handy git reference.
  46. You don’t want to make premium themes public on GitHub. Private repo costs money.
  47. So, the alternatives to GitHub are:
  48. These are some of the alternatives of GitHub. I personally use Bitbucket for private repositories for premium WordPress themes. But you can try any other services you find comfortable.