SlideShare a Scribd company logo
Using Git to Organize Your Project
Using GitHub to Organize 
Your Project
Using Git to Organize Your Project
How I lost a Client
UNORGANIZED WORKFLOW 
Pain Points of Development 
COLLABORATE ADD NEW FEATURES
Using Git to Organize Your Project
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
Using Git to Organize Your Project
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
Using Git to Organize Your Project
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
Using Git to Organize Your Project
Social 
/manishsuwal 
/manishsuwal 
Web 
/manishsuwal 
/manishsuwal 
manishsuwal.com.np 
enwil.com 
devotepress.com
Using Git to Organize Your Project

More Related Content

What's hot (20)

PDF
Git best practices 2016
Otto Kekäläinen
 
PDF
Git workflow in agile development
Zack Siri
 
PPTX
Git and github fundamentals
RajKharvar
 
PPTX
Git,Github,How to host using Github
Sujata Regoti
 
PPTX
Container based CI/CD on GitHub Actions
Casey Lee
 
PDF
CI/CD with Github Actions
Md. Minhazul Haque
 
PDF
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
Evan Lin
 
PDF
Git sourcecontrolpreso
ColdFusionConference
 
PPTX
Git 101
Sachet Mittal
 
PPTX
Git'in in 15
Stacy Vicknair
 
PPT
Git workflows presentation
Mack Hardy
 
PDF
Git best practices workshop
Otto Kekäläinen
 
PDF
Git for folk who like GUIs
Tim Osborn
 
PPTX
Git'in on Windows
Stacy Vicknair
 
PPTX
Git and GitHub
AshwinRaj57
 
PDF
Juc boston2014.pptx
Brandon Mueller
 
PDF
Intro to Gitflow
Ben Speakmon
 
PDF
Git Tutorial
Moshe Kaplan
 
Git best practices 2016
Otto Kekäläinen
 
Git workflow in agile development
Zack Siri
 
Git and github fundamentals
RajKharvar
 
Git,Github,How to host using Github
Sujata Regoti
 
Container based CI/CD on GitHub Actions
Casey Lee
 
CI/CD with Github Actions
Md. Minhazul Haque
 
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
Evan Lin
 
Git sourcecontrolpreso
ColdFusionConference
 
Git 101
Sachet Mittal
 
Git'in in 15
Stacy Vicknair
 
Git workflows presentation
Mack Hardy
 
Git best practices workshop
Otto Kekäläinen
 
Git for folk who like GUIs
Tim Osborn
 
Git'in on Windows
Stacy Vicknair
 
Git and GitHub
AshwinRaj57
 
Juc boston2014.pptx
Brandon Mueller
 
Intro to Gitflow
Ben Speakmon
 
Git Tutorial
Moshe Kaplan
 

Viewers also liked (11)

PPTX
The development workflow of git github for beginners
Gunjan Patel
 
PDF
Design theory - Wordcamp Nepal 2014
Amit Bajracharya
 
PDF
[2015/2016] Collaborative software development with Git
Ivano Malavolta
 
PPTX
Introduction to Git and GitHub
Bioinformatics and Computational Biosciences Branch
 
PDF
Git Tutorial 教學
Wen-Tien Chang
 
PDF
Git and Github
Wen-Tien Chang
 
KEY
Git and GitHub
James Gray
 
PDF
Git and GitHub for Documentation
Anne Gentle
 
PPTX
My Git workflow
Rui Carvalho
 
PDF
Git 101: Git and GitHub for Beginners
HubSpot
 
PPTX
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
Oleg Shalygin
 
The development workflow of git github for beginners
Gunjan Patel
 
Design theory - Wordcamp Nepal 2014
Amit Bajracharya
 
[2015/2016] Collaborative software development with Git
Ivano Malavolta
 
Git Tutorial 教學
Wen-Tien Chang
 
Git and Github
Wen-Tien Chang
 
Git and GitHub
James Gray
 
Git and GitHub for Documentation
Anne Gentle
 
My Git workflow
Rui Carvalho
 
Git 101: Git and GitHub for Beginners
HubSpot
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
Oleg Shalygin
 
Ad

Similar to Using Git to Organize Your Project (20)

PDF
Beginner Workshop for Student Developers - Tratech-presentation.pdf
GDSCKNUST
 
PPT
GIT By Sivakrishna
Nyros Technologies
 
PPTX
Introduction to git hub
Naveen Pandey
 
PDF
Intro to Git for Drupal 7
Chris Caple
 
PDF
Git and GitHub Info Session
SawanBhattacharya
 
PPTX
Git & GitLab
Gaurav Wable
 
PPTX
GitHub_For_Beginners_Presentationss.pptx
ramyagirish78
 
PPTX
Mini-training: Let’s Git It!
Betclic Everest Group Tech Team
 
PPTX
Git hub visualstudiocode
Rolands Krumbergs
 
KEY
Let's Git this Party Started: An Introduction to Git and GitHub
Kim Moir
 
PPTX
git and github-1.pptx
tnscharishma
 
PPTX
GIT & Github introduction for beginners
riteshsingh3651
 
PDF
Brief tutorial on Git
聖文 鄭
 
PDF
Git tech
Taj Nehme
 
PDF
August OpenNTF Webinar - Git and GitHub Explained
Howard Greenberg
 
PDF
Advance workshop on git
Himanshu Agrawal
 
PPTX
Git Training
Prabal Tyagi
 
PDF
Intro to git and git hub
JasleenSondhi
 
PPTX
database.pptx
Database110
 
Beginner Workshop for Student Developers - Tratech-presentation.pdf
GDSCKNUST
 
GIT By Sivakrishna
Nyros Technologies
 
Introduction to git hub
Naveen Pandey
 
Intro to Git for Drupal 7
Chris Caple
 
Git and GitHub Info Session
SawanBhattacharya
 
Git & GitLab
Gaurav Wable
 
GitHub_For_Beginners_Presentationss.pptx
ramyagirish78
 
Mini-training: Let’s Git It!
Betclic Everest Group Tech Team
 
Git hub visualstudiocode
Rolands Krumbergs
 
Let's Git this Party Started: An Introduction to Git and GitHub
Kim Moir
 
git and github-1.pptx
tnscharishma
 
GIT & Github introduction for beginners
riteshsingh3651
 
Brief tutorial on Git
聖文 鄭
 
Git tech
Taj Nehme
 
August OpenNTF Webinar - Git and GitHub Explained
Howard Greenberg
 
Advance workshop on git
Himanshu Agrawal
 
Git Training
Prabal Tyagi
 
Intro to git and git hub
JasleenSondhi
 
database.pptx
Database110
 
Ad

Recently uploaded (20)

PDF
Azure AI Foundry: The AI app and agent factory
Maxim Salnikov
 
PDF
AI Software Development Process, Strategies and Challenges
Net-Craft.com
 
PDF
Building scalbale cloud native apps with .NET 8
GillesMathieu10
 
PDF
AWS Consulting Services: Empowering Digital Transformation with Nlineaxis
Nlineaxis IT Solutions Pvt Ltd
 
PDF
Automated Testing and Safety Analysis of Deep Neural Networks
Lionel Briand
 
PDF
Which Hiring Management Tools Offer the Best ROI?
HireME
 
PPTX
CV-Project_2024 version 01222222222.pptx
MohammadSiddiqui70
 
PDF
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
PPTX
Avast Premium Security crack 25.5.6162 + License Key 2025
HyperPc soft
 
PDF
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
Shane Coughlan
 
PPTX
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
 
PPTX
IObit Driver Booster Pro Crack Download Latest Version
chaudhryakashoo065
 
PPTX
Iobit Driver Booster Pro 12 Crack Free Download
chaudhryakashoo065
 
PDF
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
PPTX
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
2nd Sight Lab
 
PDF
The Next-Gen HMIS Software AI, Blockchain & Cloud for Housing.pdf
Prudence B2B
 
DOCX
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
 
PDF
IObit Uninstaller Pro 14.3.1.8 Crack for Windows Latest
utfefguu
 
PPTX
IObit Uninstaller Pro 14.3.1.8 Crack Free Download 2025
sdfger qwerty
 
PDF
TEASMA: A Practical Methodology for Test Adequacy Assessment of Deep Neural N...
Lionel Briand
 
Azure AI Foundry: The AI app and agent factory
Maxim Salnikov
 
AI Software Development Process, Strategies and Challenges
Net-Craft.com
 
Building scalbale cloud native apps with .NET 8
GillesMathieu10
 
AWS Consulting Services: Empowering Digital Transformation with Nlineaxis
Nlineaxis IT Solutions Pvt Ltd
 
Automated Testing and Safety Analysis of Deep Neural Networks
Lionel Briand
 
Which Hiring Management Tools Offer the Best ROI?
HireME
 
CV-Project_2024 version 01222222222.pptx
MohammadSiddiqui70
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Avast Premium Security crack 25.5.6162 + License Key 2025
HyperPc soft
 
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
Shane Coughlan
 
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
 
IObit Driver Booster Pro Crack Download Latest Version
chaudhryakashoo065
 
Iobit Driver Booster Pro 12 Crack Free Download
chaudhryakashoo065
 
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
 
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
2nd Sight Lab
 
The Next-Gen HMIS Software AI, Blockchain & Cloud for Housing.pdf
Prudence B2B
 
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
 
IObit Uninstaller Pro 14.3.1.8 Crack for Windows Latest
utfefguu
 
IObit Uninstaller Pro 14.3.1.8 Crack Free Download 2025
sdfger qwerty
 
TEASMA: A Practical Methodology for Test Adequacy Assessment of Deep Neural N...
Lionel Briand
 

Using Git to Organize Your Project

Editor's Notes

  • #4: Hello Everybody, welcome to WordCamp. Today I’m here to speak about Git, GitHub and WordPress.
  • #5: 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.
  • #6: 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.
  • #7: It did solve all my previous mentioned problems.
  • #8: 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.
  • #9: So, what is git?
  • #10: In short….
  • #11: These are the basic tools you’ll require to use github. Basic CLI. Basic Git Commands and setting up and using a repo.
  • #12: 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.
  • #13: 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.
  • #14: 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.
  • #15: 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.
  • #16: 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.
  • #17: 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.
  • #18: 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.
  • #19: 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.
  • #20: 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.
  • #21: 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.
  • #22: This was my biggest pain point and it solved it.
  • #23: On this year’s WordCamp San Francisco State of the Word, Matt announced that GitHub and WordPress will now work together for pull requests.
  • #24: These are the basic git commands which you can learn to start playing around with git. I’ll walk you through them.
  • #25: 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.
  • #26: 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.
  • #27: 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.
  • #28: 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.
  • #29: 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.
  • #30: 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.
  • #31: 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.
  • #33: WordCamp Nepal folder on our desktop.
  • #34: I created this WordPressInfo.html file just for the demonstration purpose. Added some basic html.
  • #37: Go to github.com and create a new repository.
  • #38: Give repository the same name as in the desktop, which is ‘WordCamp Nepal’.
  • #39: Simply grab the code and push the folder to github.com.
  • #40: You can use the previously mentioned git commands to upload it to github.com
  • #41: So, now we have wordcamp nepal folder on github.
  • #42: And wordpressinfo.html on github.
  • #43: WordCamp nepal folder on your local computer looks like this.
  • #44: Wordcamp nepal folder on github.com looks like this. You can see the repo name here. The folder structure here.
  • #45: This is the text editor where I wrote some basic html. This is how it looks on our local computer.
  • #46: And this is how it looks on github.com
  • #47: You can check it out live on github.com by going to.
  • #49: 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.
  • #50: Git immersion is a guided tour that walks you through the fundamentals of git. You can learn it in your browser.
  • #51: Learn git is my personal favorite. It’s an interactive tutorial which is similar to codeacademy, but for git.
  • #52: For all the git commands, you can bookmark gitref.org for handy git reference.
  • #53: You don’t want to make premium themes public on GitHub. Private repo costs money.
  • #54: So, the alternatives to GitHub are:
  • #55: 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.