Less ‘Oh Sh*t’ With GIT
How having a GIT-based workflow can make your life infinitely easier
What with a who-now?




                       2
What with a who-now?
             • Who the hell are you?
             • What the hell are you
               talking about?

             • What the hell is a
               ‘Workflow’ ?

             • What the hell is
               ‘GIT’?

             • Oh. Why the hell am I
               not using this thing?


                                       2
Who the hell are you?




                        3
Who the hell are you?




                        3
Who the hell are you?
              • Richard Tape




                               3
Who the hell are you?
              • Richard Tape
              • Sticky, sello, masking,
                 video, worm. You’re
                 welcome




                                          3
Who the hell are you?
              • Richard Tape
              • Sticky, sello, masking,
                 video, worm. You’re
                 welcome

              • Working with WP
                 professionally for >3
                 years. Thanks Mike!




                                          3
Who the hell are you?
              • Richard Tape
              • Sticky, sello, masking,
                 video, worm. You’re
                 welcome

              • Working with WP
                 professionally for >3
                 years. Thanks Mike!

              • @RichardTape




                                          3
Who the hell are you?
              • Richard Tape
              • Sticky, sello, masking,
                 video, worm. You’re
                 welcome

              • Working with WP
                 professionally for >3
                 years. Thanks Mike!

              • @RichardTape
              • http://rich.is/ (coming
                 soon) but have site at
                 http://iamfriendly.com/




                                           3
4
4
!important




             4
!important
             • Here’s what I’m not
               saying:




                                     4
!important
             • Here’s what I’m not
               saying:
               ★   That my WorkFlow is the One
                   True Way ©




                                                 4
!important
             • Here’s what I’m not
               saying:
               ★   That my WorkFlow is the One
                   True Way ©


               ★   That what I do is ‘right’




                                                 4
!important
             • Here’s what I’m not
               saying:
               ★   That my WorkFlow is the One
                   True Way ©


               ★   That what I do is ‘right’


               ★   That you should copy what I do
                   without having a basic
                   understanding of what you’re
                   doing




                                                    4
!important
             • Here’s what I’m not
               saying:
               ★   That my WorkFlow is the One
                   True Way ©


               ★   That what I do is ‘right’


               ★   That you should copy what I do
                   without having a basic
                   understanding of what you’re
                   doing

               ★   Manchester City deserved to
                   win the Premiership Title this
                   year




                                                    4
5
What the hell are you talking
about, then?




                                5
What the hell are you talking
about, then?

• What is a Workflow and why do I need one?




                                             5
What the hell are you talking
about, then?

• What is a Workflow and why do I need one?
• Richard, what were you doing this time last year?




                                                      5
What the hell are you talking
about, then?

• What is a Workflow and why do I need one?
• Richard, what were you doing this time last year?
• Haha. That’s ridiculous. You’re an idiot. What are you doing now,
  though?




                                                                      5
What the hell are you talking
about, then?

• What is a Workflow and why do I need one?
• Richard, what were you doing this time last year?
• Haha. That’s ridiculous. You’re an idiot. What are you doing now,
  though?

• But I already have my way of doing things and it works great.
  When do you stop talking? You’re boring.




                                                                      5
What the hell are you talking
about, then?

• What is a Workflow and why do I need one?
• Richard, what were you doing this time last year?
• Haha. That’s ridiculous. You’re an idiot. What are you doing now,
   though?

• But I already have my way of doing things and it works great.
   When do you stop talking? You’re boring.

• OK, OK, as it’d apparently be ‘rude’ if I got up and left, you might
   as well tell me about this ‘GIT’ thing. ENTERTAIN ME.


                                                                         5
6
What is a Workflow?




                     6
What is a Workflow?
You’re going to crack out a dictionary definition aren’t you?
You’re so predictable.




                                                               6
What is a Workflow?
You’re going to crack out a dictionary definition aren’t you?
You’re so predictable.

1. The scheduling of independent jobs on a computer.




                                                               6
What is a Workflow?
You’re going to crack out a dictionary definition aren’t you?
You’re so predictable.

1. The scheduling of independent jobs on a computer.


2.  The set of relationships between all the activities in a
project, from start to finish. Activities are related by different
types of trigger relation. Activities may be triggered by
external events or by other activities.




                                                                    6
What is a Workflow?
You’re going to crack out a dictionary definition aren’t you?
You’re so predictable.

1. The scheduling of independent jobs on a computer.


2.  The set of relationships between all the activities in a
project, from start to finish. Activities are related by different
types of trigger relation. Activities may be triggered by
external events or by other activities.

3. The movement of documents around an organisation for
purposes including sign-off, evaluation, performing activities
in a process and co-writing.

                                                                    6
7
And in English, please?




                          7
And in English, please?

How you go about your day-to-day
 tasks and the systems you put in
place to allow you to do those tasks
             more easily



                                       7
8
Richard, what were you doing
this time last year?




                               8
Richard, what were you doing
this time last year?

• Work locally using a MAMP setup.




                                     8
Richard, what were you doing
this time last year?

• Work locally using a MAMP setup.
• WordPress Multisite installation, each ‘project’ was a new
  site.




                                                               8
Richard, what were you doing
this time last year?

• Work locally using a MAMP setup.
• WordPress Multisite installation, each ‘project’ was a new
  site.
• When happy with work, sFTP to live site. Cross fingers and
  sacrifice a goat in the hope that it wouldn’t break.




                                                               8
Richard, what were you doing
this time last year?

• Work locally using a MAMP setup.
• WordPress Multisite installation, each ‘project’ was a new
   site.
• When happy with work, sFTP to live site. Cross fingers and
   sacrifice a goat in the hope that it wouldn’t break.

• For edits: either edit file locally and re-upload or, if I was in
   a rush, edit the file on the live server. Yes, I’m going straight
   to hell.




                                                                      8
Richard, what were you doing
this time last year?

• Work locally using a MAMP setup.
• WordPress Multisite installation, each ‘project’ was a new
   site.
• When happy with work, sFTP to live site. Cross fingers and
   sacrifice a goat in the hope that it wouldn’t break.

• For edits: either edit file locally and re-upload or, if I was in
   a rush, edit the file on the live server. Yes, I’m going straight
   to hell.

• For database: local and live sites were entirely separate.


                                                                      8
Less 'Oh Shit' With GIT
Less 'Oh Shit' With GIT
Less 'Oh Shit' With GIT
Live file
editing?
Live file
editing?
Live file
editing?
Hahaha. HAHAHAHA.
AAAAHAHAHAHAHA.

You’re an idiot.




(Secretly, I sometimes do this too. But don’t tell
anyone)
11
What are you doing now?




                          11
What are you doing now?
• All source files (including WP core) are version controlled
  in GIT - stored in local repos and on github




                                                               11
What are you doing now?
• All source files (including WP core) are version controlled
  in GIT - stored in local repos and on github

• I make all edits locally (even though I am sysadmin on my
  live server, I have intentionally revoked my rights to edit
  files directly)




                                                                11
What are you doing now?
• All source files (including WP core) are version controlled
  in GIT - stored in local repos and on github

• I make all edits locally (even though I am sysadmin on my
  live server, I have intentionally revoked my rights to edit
  files directly)

• Commit to local git repo. Push to github.




                                                                11
What are you doing now?
• All source files (including WP core) are version controlled
  in GIT - stored in local repos and on github

• I make all edits locally (even though I am sysadmin on my
  live server, I have intentionally revoked my rights to edit
  files directly)

• Commit to local git repo. Push to github.
• Post Commit hooks on github automatically pulls all edits
  onto staging server




                                                                11
What are you doing now?
• All source files (including WP core) are version controlled
  in GIT - stored in local repos and on github

• I make all edits locally (even though I am sysadmin on my
  live server, I have intentionally revoked my rights to edit
  files directly)

• Commit to local git repo. Push to github.
• Post Commit hooks on github automatically pulls all edits
  onto staging server

• If happy on staging, deploy changes to live

                                                                11
12
GIT? Repo? Staging? Deploy?




                              12
GIT? Repo? Staging? Deploy?
• GIT is a VCS - a version control system (a ‘distributed’ one
   at that) and source code management (SCM)
   ★   It keeps track of all changes you make to your files
   ★   You can think of it like the Revisions System in WordPress




                                                                    12
GIT? Repo? Staging? Deploy?
• GIT is a VCS - a version control system (a ‘distributed’ one
   at that) and source code management (SCM)
   ★   It keeps track of all changes you make to your files
   ★   You can think of it like the Revisions System in WordPress




• Repo is short for Repository.
   ★   It’s sort of like a database
   ★   When you make changes to your files, you ‘commit’ them to your local repo
   ★   If you have made a mistake, you can simply ‘roll back’ to a previous state
   ★   Sort of like an ‘undo’ feature for all of your files




                                                                                    12
GIT? Repo? Staging? Deploy?




                              13
GIT? Repo? Staging? Deploy?
• Staging
  ★   An intermediary between your local environment and the live site
  ★   Ideally, the staging server and the live server have identical setups
  ★   Means you can see exactly what your changes will look like on the live site without the
      panic of ‘guessing’




                                                                                                13
GIT? Repo? Staging? Deploy?
• Staging
  ★   An intermediary between your local environment and the live site
  ★   Ideally, the staging server and the live server have identical setups
  ★   Means you can see exactly what your changes will look like on the live site without the
      panic of ‘guessing’




• Deploy
  ★   The equivalent of FTP’ing all your changes elsewhere

  ★   When you ‘deploy’ something you’re effectively “making it live”




                                                                                                13
14
Hang on. So you don’t FTP?
Anything?




                             14
Hang on. So you don’t FTP?
Anything?

• Nope. Not a sausage.




                             14
Hang on. So you don’t FTP?
Anything?

• Nope. Not a sausage.

• If I need to install a plugin I do it locally. Then commit and
   push to github.




                                                                   14
Hang on. So you don’t FTP?
Anything?

• Nope. Not a sausage.

• If I need to install a plugin I do it locally. Then commit and
   push to github.

• This then automatically grabs all files to the staging server
   (which means FTP is disabled on my server so (a little)
   more secure.




                                                                   14
Hang on. So you don’t FTP?
Anything?

• Nope. Not a sausage.

• If I need to install a plugin I do it locally. Then commit and
   push to github.

• This then automatically grabs all files to the staging server
   (which means FTP is disabled on my server so (a little)
   more secure.

• Likewise with themes.



                                                                   14
Iiiinteresting. Veeeery
interesting.
                          15
16
OK smart-arse, what about
content?




                            16
OK smart-arse, what about
content?

• Content is a little more complicated




                                         16
OK smart-arse, what about
content?

• Content is a little more complicated

• Text is stored in a database, so no ‘flat files’ as such (there
   is, kinda, but it’s complicated and not for now)




                                                                  16
OK smart-arse, what about
content?

• Content is a little more complicated

• Text is stored in a database, so no ‘flat files’ as such (there
   is, kinda, but it’s complicated and not for now)

• Can do a ‘database dump’ change references to ‘local’
   environment and replace with links to live site




                                                                  16
OK smart-arse, what about
content?

• Content is a little more complicated

• Text is stored in a database, so no ‘flat files’ as such (there
   is, kinda, but it’s complicated and not for now)

• Can do a ‘database dump’ change references to ‘local’
   environment and replace with links to live site

• Or...




                                                                  16
OK smart-arse, what about
content?

• Content is a little more complicated

• Text is stored in a database, so no ‘flat files’ as such (there
   is, kinda, but it’s complicated and not for now)

• Can do a ‘database dump’ change references to ‘local’
   environment and replace with links to live site

• Or...

• RAMP Plugin by Crowd Favorite
   http://crowdfavorite.com/wordpress/ramp/

                                                                  16
17
17
18
Holy Frack. How Much?!




                         18
Holy Frack. How Much?!
• Yeah, it’s not cheap. But it does a great job.




                                                   18
Holy Frack. How Much?!
• Yeah, it’s not cheap. But it does a great job.

• Also, it has a developer API, so all of the themes and plugins
   that I develop are ‘RAMP-enabled’ which mean that any
   user of said themes or plugins can benefit from RAMP’s
   content management




                                                                   18
Holy Frack. How Much?!
• Yeah, it’s not cheap. But it does a great job.

• Also, it has a developer API, so all of the themes and plugins
   that I develop are ‘RAMP-enabled’ which mean that any
   user of said themes or plugins can benefit from RAMP’s
   content management


• Free Alternative: DeployMint by Mark Maunder
   http://code.google.com/p/deploymint/




                                                                   18
Less 'Oh Shit' With GIT
Less 'Oh Shit' With GIT
Care to
show me an
example?
Care to
show me an
example?
This can only go well
Less 'Oh Shit' With GIT
Less 'Oh Shit' With GIT
OH GOD!
THE
CONSOLE
OH GOD!
THE
CONSOLE
• You don’t have to use
  the console, there are
  several apps you can
  use

• Tower or github for
  mac

• GIT Gui / TortoiseGIT
  for Windows
21
21
But I work
in a team?




             21
But I work
in a team?
• On some projects, so
  do I!




                         21
But I work
in a team?
• On some projects, so
  do I!

• Different people have
  their own ‘local’
  repository and work
  on different branches




                          21
But I work
in a team?
• On some projects, so
  do I!

• Different people have
  their own ‘local’
  repository and work
  on different branches

• These are then
  ‘merged’ as and when


                          21
22
What about backups?




                      22
What about backups?
• Well, because your code is all stored on GitHub, you already
  have 1 level of backup. RAMP handles media, too.




                                                                 22
What about backups?
• Well, because your code is all stored on GitHub, you already
  have 1 level of backup. RAMP handles media, too.

• For the database, I use a plugin called BackupPress (http://
  www.getbackuppress.com) - it ‘just works’ and allows you to
  restore your database back to a previous state if things go
  awry




                                                                 22
What about backups?
• Well, because your code is all stored on GitHub, you already
  have 1 level of backup. RAMP handles media, too.

• For the database, I use a plugin called BackupPress (http://
  www.getbackuppress.com) - it ‘just works’ and allows you to
  restore your database back to a previous state if things go
  awry

• Alternative: WP-DBManager (https://wordpress.org/
  extend/plugins/wp-dbmanager/)




                                                                 22
What about backups?
• Well, because your code is all stored on GitHub, you already
  have 1 level of backup. RAMP handles media, too.

• For the database, I use a plugin called BackupPress (http://
  www.getbackuppress.com) - it ‘just works’ and allows you to
  restore your database back to a previous state if things go
  awry

• Alternative: WP-DBManager (https://wordpress.org/
  extend/plugins/wp-dbmanager/)

• I also have a cron job on my server which does a dump twice
  a day.

                                                                 22
23
I’ve forgotten absolutely
everything you’ve just said




                              23
I’ve forgotten absolutely
everything you’ve just said

• Having a workflow you are both comfortable with and that
  you stick to is more important than what the workflow
  actually is




                                                            23
I’ve forgotten absolutely
everything you’ve just said

• Having a workflow you are both comfortable with and that
   you stick to is more important than what the workflow
   actually is

• Use a Version Control System; they will - after a small
   learning curve - become a God-send




                                                            23
I’ve forgotten absolutely
everything you’ve just said

• Having a workflow you are both comfortable with and that
   you stick to is more important than what the workflow
   actually is

• Use a Version Control System; they will - after a small
   learning curve - become a God-send

• Never, ever edit files on a live server. Ever. Forever, ever.




                                                                 23
I’ve forgotten absolutely
everything you’ve just said

• Having a workflow you are both comfortable with and that
   you stick to is more important than what the workflow
   actually is

• Use a Version Control System; they will - after a small
   learning curve - become a God-send

• Never, ever edit files on a live server. Ever. Forever, ever.
• Have a fallback plan




                                                                 23
I’ve forgotten absolutely
everything you’ve just said

• Having a workflow you are both comfortable with and that
   you stick to is more important than what the workflow
   actually is

• Use a Version Control System; they will - after a small
   learning curve - become a God-send

• Never, ever edit files on a live server. Ever. Forever, ever.
• Have a fallback plan
• Don’t just jump straight into something - do some reading
   about it first, understand it, then take small steps


                                                                 23
Less 'Oh Shit' With GIT
Less 'Oh Shit' With GIT
Credits
•   http://bit.ly/JDjfYd

•   http://bit.ly/L3Z3vL

•   http://bit.ly/K3NJAZ

•   http://bit.ly/L44VF3

•   http://bit.ly/JtUO25

•   http://bit.ly/JSTJz1

•   http://bit.ly/IXPLRE

•   http://bit.ly/Kt1NaX

•   http://bit.ly/J85QZK

•   http://bit.ly/L6md4t

•   http://bit.ly/LScNN4

•   http://bit.ly/JJdes2

More Related Content

KEY
Social dev camp_2011
KEY
Hampton's 6 Rules of Mobile Design
KEY
Blogging for Business Basics - at F5 Expo
KEY
Presentation for TMAC
PDF
Making an Impact: UX Team of One
KEY
Worst. Ideas. Ever.
KEY
LeanStartup:Research is cheaper than development
PPTX
Git-ing out of your git messes
Social dev camp_2011
Hampton's 6 Rules of Mobile Design
Blogging for Business Basics - at F5 Expo
Presentation for TMAC
Making an Impact: UX Team of One
Worst. Ideas. Ever.
LeanStartup:Research is cheaper than development
Git-ing out of your git messes

Viewers also liked (20)

ODP
Aliments fruites i animals
PPTX
substance abuse counselor
PDF
Revista PM Network
PPTX
งานนำเสนอ1
PDF
Less oh-shit with git
PDF
LARIS Property (www.LarisIndonesia.com)
PDF
GFC - Magazine article
PPTX
Gallery Walk
PPTX
Payforit4 Training
PPT
Prezentacja dr. Pawła Kuczyńskiego | anty-ACTA
PDF
LARIS Indonesia
PPTX
The big bang theory !!!
PPTX
European banking presentation 20.04.2012
PPTX
Payforit 4 Seminar
PPTX
PPTX
Task 2 writing 105
PPTX
Payforit 4 Case Study
PPT
Tlc en ee.uu y colombia
PPTX
Isas _Q3 _Soft_Topic3_enterprise_application_architecture
PDF
Vescina accountability dei confidi minori 7 aprile
Aliments fruites i animals
substance abuse counselor
Revista PM Network
งานนำเสนอ1
Less oh-shit with git
LARIS Property (www.LarisIndonesia.com)
GFC - Magazine article
Gallery Walk
Payforit4 Training
Prezentacja dr. Pawła Kuczyńskiego | anty-ACTA
LARIS Indonesia
The big bang theory !!!
European banking presentation 20.04.2012
Payforit 4 Seminar
Task 2 writing 105
Payforit 4 Case Study
Tlc en ee.uu y colombia
Isas _Q3 _Soft_Topic3_enterprise_application_architecture
Vescina accountability dei confidi minori 7 aprile
Ad

Similar to Less 'Oh Shit' With GIT (20)

PDF
Workflow: Getting Things Done in a Web 2.0 World // ETC 2011 Missoula, MT
PDF
Version Control with Git
PDF
Workflow: Making the Tools Work for You (NCCE 2011)
PDF
Git Makes Me Angry Inside
PDF
Go with the Flow - A Guide to a WordPress Workflow
PDF
Workflow Version 1.0
PPTX
How To Work with Workflows in Comindware
PDF
Just Keep Sending The Messages
PDF
Just Keep Sending The Messages
ODP
PDF
Useful Shareware / Freeware for Technical Communicators
PDF
Hack your work. Toolbox for non-profits
PDF
Process Design Masterclass: Top Tips from a Process Design Expert
PDF
Stop Worrying! And love the workflow
PPTX
Herding Tigers: Helping Writers Let Go of Inline Links
PPT
]project-open[ Workflow Developer Tutorial Part 4
KEY
"The Cutting Edge" - Palletways Business Club Presentation
PDF
Don't Panic: A Hitchhiker's Guide to WordPress Hosting 08 25-2012
PDF
Java Tech & Tools | Just Keep Passing the Message | Russel Winder
PDF
Just Keep Passing The Messages
Workflow: Getting Things Done in a Web 2.0 World // ETC 2011 Missoula, MT
Version Control with Git
Workflow: Making the Tools Work for You (NCCE 2011)
Git Makes Me Angry Inside
Go with the Flow - A Guide to a WordPress Workflow
Workflow Version 1.0
How To Work with Workflows in Comindware
Just Keep Sending The Messages
Just Keep Sending The Messages
Useful Shareware / Freeware for Technical Communicators
Hack your work. Toolbox for non-profits
Process Design Masterclass: Top Tips from a Process Design Expert
Stop Worrying! And love the workflow
Herding Tigers: Helping Writers Let Go of Inline Links
]project-open[ Workflow Developer Tutorial Part 4
"The Cutting Edge" - Palletways Business Club Presentation
Don't Panic: A Hitchhiker's Guide to WordPress Hosting 08 25-2012
Java Tech & Tools | Just Keep Passing the Message | Russel Winder
Just Keep Passing The Messages
Ad

Recently uploaded (20)

PDF
Unlock new opportunities with location data.pdf
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
Modernising the Digital Integration Hub
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Getting Started with Data Integration: FME Form 101
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPTX
The various Industrial Revolutions .pptx
Unlock new opportunities with location data.pdf
CloudStack 4.21: First Look Webinar slides
Enhancing emotion recognition model for a student engagement use case through...
sustainability-14-14877-v2.pddhzftheheeeee
A comparative study of natural language inference in Swahili using monolingua...
Developing a website for English-speaking practice to English as a foreign la...
Chapter 5: Probability Theory and Statistics
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Modernising the Digital Integration Hub
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Benefits of Physical activity for teenagers.pptx
1 - Historical Antecedents, Social Consideration.pdf
Getting Started with Data Integration: FME Form 101
observCloud-Native Containerability and monitoring.pptx
Hindi spoken digit analysis for native and non-native speakers
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
O2C Customer Invoices to Receipt V15A.pptx
Web Crawler for Trend Tracking Gen Z Insights.pptx
Taming the Chaos: How to Turn Unstructured Data into Decisions
The various Industrial Revolutions .pptx

Less 'Oh Shit' With GIT

  • 1. Less ‘Oh Sh*t’ With GIT How having a GIT-based workflow can make your life infinitely easier
  • 2. What with a who-now? 2
  • 3. What with a who-now? • Who the hell are you? • What the hell are you talking about? • What the hell is a ‘Workflow’ ? • What the hell is ‘GIT’? • Oh. Why the hell am I not using this thing? 2
  • 4. Who the hell are you? 3
  • 5. Who the hell are you? 3
  • 6. Who the hell are you? • Richard Tape 3
  • 7. Who the hell are you? • Richard Tape • Sticky, sello, masking, video, worm. You’re welcome 3
  • 8. Who the hell are you? • Richard Tape • Sticky, sello, masking, video, worm. You’re welcome • Working with WP professionally for >3 years. Thanks Mike! 3
  • 9. Who the hell are you? • Richard Tape • Sticky, sello, masking, video, worm. You’re welcome • Working with WP professionally for >3 years. Thanks Mike! • @RichardTape 3
  • 10. Who the hell are you? • Richard Tape • Sticky, sello, masking, video, worm. You’re welcome • Working with WP professionally for >3 years. Thanks Mike! • @RichardTape • http://rich.is/ (coming soon) but have site at http://iamfriendly.com/ 3
  • 11. 4
  • 12. 4
  • 14. !important • Here’s what I’m not saying: 4
  • 15. !important • Here’s what I’m not saying: ★ That my WorkFlow is the One True Way © 4
  • 16. !important • Here’s what I’m not saying: ★ That my WorkFlow is the One True Way © ★ That what I do is ‘right’ 4
  • 17. !important • Here’s what I’m not saying: ★ That my WorkFlow is the One True Way © ★ That what I do is ‘right’ ★ That you should copy what I do without having a basic understanding of what you’re doing 4
  • 18. !important • Here’s what I’m not saying: ★ That my WorkFlow is the One True Way © ★ That what I do is ‘right’ ★ That you should copy what I do without having a basic understanding of what you’re doing ★ Manchester City deserved to win the Premiership Title this year 4
  • 19. 5
  • 20. What the hell are you talking about, then? 5
  • 21. What the hell are you talking about, then? • What is a Workflow and why do I need one? 5
  • 22. What the hell are you talking about, then? • What is a Workflow and why do I need one? • Richard, what were you doing this time last year? 5
  • 23. What the hell are you talking about, then? • What is a Workflow and why do I need one? • Richard, what were you doing this time last year? • Haha. That’s ridiculous. You’re an idiot. What are you doing now, though? 5
  • 24. What the hell are you talking about, then? • What is a Workflow and why do I need one? • Richard, what were you doing this time last year? • Haha. That’s ridiculous. You’re an idiot. What are you doing now, though? • But I already have my way of doing things and it works great. When do you stop talking? You’re boring. 5
  • 25. What the hell are you talking about, then? • What is a Workflow and why do I need one? • Richard, what were you doing this time last year? • Haha. That’s ridiculous. You’re an idiot. What are you doing now, though? • But I already have my way of doing things and it works great. When do you stop talking? You’re boring. • OK, OK, as it’d apparently be ‘rude’ if I got up and left, you might as well tell me about this ‘GIT’ thing. ENTERTAIN ME. 5
  • 26. 6
  • 27. What is a Workflow? 6
  • 28. What is a Workflow? You’re going to crack out a dictionary definition aren’t you? You’re so predictable. 6
  • 29. What is a Workflow? You’re going to crack out a dictionary definition aren’t you? You’re so predictable. 1. The scheduling of independent jobs on a computer. 6
  • 30. What is a Workflow? You’re going to crack out a dictionary definition aren’t you? You’re so predictable. 1. The scheduling of independent jobs on a computer. 2.  The set of relationships between all the activities in a project, from start to finish. Activities are related by different types of trigger relation. Activities may be triggered by external events or by other activities. 6
  • 31. What is a Workflow? You’re going to crack out a dictionary definition aren’t you? You’re so predictable. 1. The scheduling of independent jobs on a computer. 2.  The set of relationships between all the activities in a project, from start to finish. Activities are related by different types of trigger relation. Activities may be triggered by external events or by other activities. 3. The movement of documents around an organisation for purposes including sign-off, evaluation, performing activities in a process and co-writing. 6
  • 32. 7
  • 33. And in English, please? 7
  • 34. And in English, please? How you go about your day-to-day tasks and the systems you put in place to allow you to do those tasks more easily 7
  • 35. 8
  • 36. Richard, what were you doing this time last year? 8
  • 37. Richard, what were you doing this time last year? • Work locally using a MAMP setup. 8
  • 38. Richard, what were you doing this time last year? • Work locally using a MAMP setup. • WordPress Multisite installation, each ‘project’ was a new site. 8
  • 39. Richard, what were you doing this time last year? • Work locally using a MAMP setup. • WordPress Multisite installation, each ‘project’ was a new site. • When happy with work, sFTP to live site. Cross fingers and sacrifice a goat in the hope that it wouldn’t break. 8
  • 40. Richard, what were you doing this time last year? • Work locally using a MAMP setup. • WordPress Multisite installation, each ‘project’ was a new site. • When happy with work, sFTP to live site. Cross fingers and sacrifice a goat in the hope that it wouldn’t break. • For edits: either edit file locally and re-upload or, if I was in a rush, edit the file on the live server. Yes, I’m going straight to hell. 8
  • 41. Richard, what were you doing this time last year? • Work locally using a MAMP setup. • WordPress Multisite installation, each ‘project’ was a new site. • When happy with work, sFTP to live site. Cross fingers and sacrifice a goat in the hope that it wouldn’t break. • For edits: either edit file locally and re-upload or, if I was in a rush, edit the file on the live server. Yes, I’m going straight to hell. • For database: local and live sites were entirely separate. 8
  • 47. Live file editing? Hahaha. HAHAHAHA. AAAAHAHAHAHAHA. You’re an idiot. (Secretly, I sometimes do this too. But don’t tell anyone)
  • 48. 11
  • 49. What are you doing now? 11
  • 50. What are you doing now? • All source files (including WP core) are version controlled in GIT - stored in local repos and on github 11
  • 51. What are you doing now? • All source files (including WP core) are version controlled in GIT - stored in local repos and on github • I make all edits locally (even though I am sysadmin on my live server, I have intentionally revoked my rights to edit files directly) 11
  • 52. What are you doing now? • All source files (including WP core) are version controlled in GIT - stored in local repos and on github • I make all edits locally (even though I am sysadmin on my live server, I have intentionally revoked my rights to edit files directly) • Commit to local git repo. Push to github. 11
  • 53. What are you doing now? • All source files (including WP core) are version controlled in GIT - stored in local repos and on github • I make all edits locally (even though I am sysadmin on my live server, I have intentionally revoked my rights to edit files directly) • Commit to local git repo. Push to github. • Post Commit hooks on github automatically pulls all edits onto staging server 11
  • 54. What are you doing now? • All source files (including WP core) are version controlled in GIT - stored in local repos and on github • I make all edits locally (even though I am sysadmin on my live server, I have intentionally revoked my rights to edit files directly) • Commit to local git repo. Push to github. • Post Commit hooks on github automatically pulls all edits onto staging server • If happy on staging, deploy changes to live 11
  • 55. 12
  • 56. GIT? Repo? Staging? Deploy? 12
  • 57. GIT? Repo? Staging? Deploy? • GIT is a VCS - a version control system (a ‘distributed’ one at that) and source code management (SCM) ★ It keeps track of all changes you make to your files ★ You can think of it like the Revisions System in WordPress 12
  • 58. GIT? Repo? Staging? Deploy? • GIT is a VCS - a version control system (a ‘distributed’ one at that) and source code management (SCM) ★ It keeps track of all changes you make to your files ★ You can think of it like the Revisions System in WordPress • Repo is short for Repository. ★ It’s sort of like a database ★ When you make changes to your files, you ‘commit’ them to your local repo ★ If you have made a mistake, you can simply ‘roll back’ to a previous state ★ Sort of like an ‘undo’ feature for all of your files 12
  • 59. GIT? Repo? Staging? Deploy? 13
  • 60. GIT? Repo? Staging? Deploy? • Staging ★ An intermediary between your local environment and the live site ★ Ideally, the staging server and the live server have identical setups ★ Means you can see exactly what your changes will look like on the live site without the panic of ‘guessing’ 13
  • 61. GIT? Repo? Staging? Deploy? • Staging ★ An intermediary between your local environment and the live site ★ Ideally, the staging server and the live server have identical setups ★ Means you can see exactly what your changes will look like on the live site without the panic of ‘guessing’ • Deploy ★ The equivalent of FTP’ing all your changes elsewhere ★ When you ‘deploy’ something you’re effectively “making it live” 13
  • 62. 14
  • 63. Hang on. So you don’t FTP? Anything? 14
  • 64. Hang on. So you don’t FTP? Anything? • Nope. Not a sausage. 14
  • 65. Hang on. So you don’t FTP? Anything? • Nope. Not a sausage. • If I need to install a plugin I do it locally. Then commit and push to github. 14
  • 66. Hang on. So you don’t FTP? Anything? • Nope. Not a sausage. • If I need to install a plugin I do it locally. Then commit and push to github. • This then automatically grabs all files to the staging server (which means FTP is disabled on my server so (a little) more secure. 14
  • 67. Hang on. So you don’t FTP? Anything? • Nope. Not a sausage. • If I need to install a plugin I do it locally. Then commit and push to github. • This then automatically grabs all files to the staging server (which means FTP is disabled on my server so (a little) more secure. • Likewise with themes. 14
  • 69. 16
  • 70. OK smart-arse, what about content? 16
  • 71. OK smart-arse, what about content? • Content is a little more complicated 16
  • 72. OK smart-arse, what about content? • Content is a little more complicated • Text is stored in a database, so no ‘flat files’ as such (there is, kinda, but it’s complicated and not for now) 16
  • 73. OK smart-arse, what about content? • Content is a little more complicated • Text is stored in a database, so no ‘flat files’ as such (there is, kinda, but it’s complicated and not for now) • Can do a ‘database dump’ change references to ‘local’ environment and replace with links to live site 16
  • 74. OK smart-arse, what about content? • Content is a little more complicated • Text is stored in a database, so no ‘flat files’ as such (there is, kinda, but it’s complicated and not for now) • Can do a ‘database dump’ change references to ‘local’ environment and replace with links to live site • Or... 16
  • 75. OK smart-arse, what about content? • Content is a little more complicated • Text is stored in a database, so no ‘flat files’ as such (there is, kinda, but it’s complicated and not for now) • Can do a ‘database dump’ change references to ‘local’ environment and replace with links to live site • Or... • RAMP Plugin by Crowd Favorite http://crowdfavorite.com/wordpress/ramp/ 16
  • 76. 17
  • 77. 17
  • 78. 18
  • 79. Holy Frack. How Much?! 18
  • 80. Holy Frack. How Much?! • Yeah, it’s not cheap. But it does a great job. 18
  • 81. Holy Frack. How Much?! • Yeah, it’s not cheap. But it does a great job. • Also, it has a developer API, so all of the themes and plugins that I develop are ‘RAMP-enabled’ which mean that any user of said themes or plugins can benefit from RAMP’s content management 18
  • 82. Holy Frack. How Much?! • Yeah, it’s not cheap. But it does a great job. • Also, it has a developer API, so all of the themes and plugins that I develop are ‘RAMP-enabled’ which mean that any user of said themes or plugins can benefit from RAMP’s content management • Free Alternative: DeployMint by Mark Maunder http://code.google.com/p/deploymint/ 18
  • 85. Care to show me an example?
  • 86. Care to show me an example? This can only go well
  • 90. OH GOD! THE CONSOLE • You don’t have to use the console, there are several apps you can use • Tower or github for mac • GIT Gui / TortoiseGIT for Windows
  • 91. 21
  • 92. 21
  • 93. But I work in a team? 21
  • 94. But I work in a team? • On some projects, so do I! 21
  • 95. But I work in a team? • On some projects, so do I! • Different people have their own ‘local’ repository and work on different branches 21
  • 96. But I work in a team? • On some projects, so do I! • Different people have their own ‘local’ repository and work on different branches • These are then ‘merged’ as and when 21
  • 97. 22
  • 99. What about backups? • Well, because your code is all stored on GitHub, you already have 1 level of backup. RAMP handles media, too. 22
  • 100. What about backups? • Well, because your code is all stored on GitHub, you already have 1 level of backup. RAMP handles media, too. • For the database, I use a plugin called BackupPress (http:// www.getbackuppress.com) - it ‘just works’ and allows you to restore your database back to a previous state if things go awry 22
  • 101. What about backups? • Well, because your code is all stored on GitHub, you already have 1 level of backup. RAMP handles media, too. • For the database, I use a plugin called BackupPress (http:// www.getbackuppress.com) - it ‘just works’ and allows you to restore your database back to a previous state if things go awry • Alternative: WP-DBManager (https://wordpress.org/ extend/plugins/wp-dbmanager/) 22
  • 102. What about backups? • Well, because your code is all stored on GitHub, you already have 1 level of backup. RAMP handles media, too. • For the database, I use a plugin called BackupPress (http:// www.getbackuppress.com) - it ‘just works’ and allows you to restore your database back to a previous state if things go awry • Alternative: WP-DBManager (https://wordpress.org/ extend/plugins/wp-dbmanager/) • I also have a cron job on my server which does a dump twice a day. 22
  • 103. 23
  • 104. I’ve forgotten absolutely everything you’ve just said 23
  • 105. I’ve forgotten absolutely everything you’ve just said • Having a workflow you are both comfortable with and that you stick to is more important than what the workflow actually is 23
  • 106. I’ve forgotten absolutely everything you’ve just said • Having a workflow you are both comfortable with and that you stick to is more important than what the workflow actually is • Use a Version Control System; they will - after a small learning curve - become a God-send 23
  • 107. I’ve forgotten absolutely everything you’ve just said • Having a workflow you are both comfortable with and that you stick to is more important than what the workflow actually is • Use a Version Control System; they will - after a small learning curve - become a God-send • Never, ever edit files on a live server. Ever. Forever, ever. 23
  • 108. I’ve forgotten absolutely everything you’ve just said • Having a workflow you are both comfortable with and that you stick to is more important than what the workflow actually is • Use a Version Control System; they will - after a small learning curve - become a God-send • Never, ever edit files on a live server. Ever. Forever, ever. • Have a fallback plan 23
  • 109. I’ve forgotten absolutely everything you’ve just said • Having a workflow you are both comfortable with and that you stick to is more important than what the workflow actually is • Use a Version Control System; they will - after a small learning curve - become a God-send • Never, ever edit files on a live server. Ever. Forever, ever. • Have a fallback plan • Don’t just jump straight into something - do some reading about it first, understand it, then take small steps 23
  • 112. Credits • http://bit.ly/JDjfYd • http://bit.ly/L3Z3vL • http://bit.ly/K3NJAZ • http://bit.ly/L44VF3 • http://bit.ly/JtUO25 • http://bit.ly/JSTJz1 • http://bit.ly/IXPLRE • http://bit.ly/Kt1NaX • http://bit.ly/J85QZK • http://bit.ly/L6md4t • http://bit.ly/LScNN4 • http://bit.ly/JJdes2

Editor's Notes