SlideShare una empresa de Scribd logo
1 de 43
Retooling
YourWorkflow
Rebecca Murphey • @rmurphey
Saturday, November 13, 2010
[Note: Some slides have had content obscured
for the sake of confidentiality. Sorry.]
Saturday, November 13, 2010
Or: Tools for
measuring the
quality of a client.
Saturday, November 13, 2010
Or: Tools for
getting access to
more exciting,
better-paying
work.
Saturday, November 13, 2010
Or: CYA.
Saturday, November 13, 2010
I learned to tolerate terribleness.
TheProblem
Saturday, November 13, 2010
TheLessons
Saturday, November 13, 2010
A ticketing system brings sanity to client requests.
Emailisevil
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
Either the client needs to provide it, or I will.
Versioncontrol
isnon-negotiable
Saturday, November 13, 2010
store step-by-step snapshots of your work
$ mate index.html
[make your changes]
$ git status
[see what’s changed]
$ git commit -am ‘changing jQuery version’
[commit any modified files already in the repo]
$ git push origin master
[send your changes to the server]
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
see what you’ve done
$ git log
[see a history of the repo]
$ git log -p
[see a full diff for each log entry]
$ git log --stat
[see a short version of what changed per entry]
$ git log -SmethodName
[see commits whose diffs included ‘methodName’]
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
streamline the process of deploying new code
to a server with tags
[locally ...]
$ git tag -a v1.3
$ git push --tags [tell the server about the tag!]
[then, on your server]
$ git pull
$ git checkout v1.3
Saturday, November 13, 2010
rapidly roll back bad code on the server
[on your server]
$ git checkout v1.3
[all hell breaks loose]
$ git checkout v1.2
[now to figure out what broke]
Saturday, November 13, 2010
identify the change that made your code break
$ git bisect start
$ git bisect good v1.2
[marks v1.2 tag as good]
$ git bisect bad master
[marks current code as bad]
[git will now present you with commits to test; each
should be marked with ‘git bisect good’ or ‘git bisect
bad’ until you arrive at the commit that broke]
Saturday, November 13, 2010
work on experimental changes without
breaking your stable code
$ git checkout -b newfeature
$ git branch
[confirm you’re on the newfeature branch]
[work on your new feature and commit as normal; commits
will not touch the “master” code]
Saturday, November 13, 2010
$ git pull --rebase
[gets any changes others have made]
$ git rebase master
[do this often & resolve conflicts early if you’re
working with others!]
$ git checkout master
$ git merge newfeature
[merge your changes back into master]
stay up to date with changes in the core code
Saturday, November 13, 2010
$ git add --patch
[choose which of your changes to add]
$ git commit -v
[see your diff when writing your commit message]
$ git stash
[stash your changes for now]
$ git stash pop
[restore your last stashed changes]
$ git rebase -i master~10
[edit (!) the last 10 commits]
more insanely useful things
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
Just use the command line.
Saturday, November 13, 2010
Aboutthoseclients...
Saturday, November 13, 2010
Step 1: Fire bad clients. Srsly.
Saturday, November 13, 2010
Saturday, November 13, 2010
Step 2: Don’t ask for permission.
$ mkdir newproject
$ cd newproject
$ git init
Saturday, November 13, 2010
Step 3: Help clients see the value.
Saturday, November 13, 2010
Github makes it stupid simple.
Gettingstarted
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
Saturday, November 13, 2010
rebeccamurphey.com
@rmurphey
http://pinboard.in/u:rmurphey/t:git/
http://pinboard.in/u:rmurphey/t:workflow/
Originally presented at indieconf 2010, Raleigh, N.C.
Saturday, November 13, 2010

Más contenido relacionado

Más de Rebecca Murphey

Getting Started with Mulberry
Getting Started with MulberryGetting Started with Mulberry
Getting Started with Mulberry
Rebecca Murphey
 
Lessons from-a-rewrite-gotham
Lessons from-a-rewrite-gothamLessons from-a-rewrite-gotham
Lessons from-a-rewrite-gotham
Rebecca Murphey
 
Cleaner, Leaner, Meaner: Refactoring your jQuery
Cleaner, Leaner, Meaner: Refactoring your jQueryCleaner, Leaner, Meaner: Refactoring your jQuery
Cleaner, Leaner, Meaner: Refactoring your jQuery
Rebecca Murphey
 
Delivering a Responsive UI
Delivering a Responsive UIDelivering a Responsive UI
Delivering a Responsive UI
Rebecca Murphey
 

Más de Rebecca Murphey (11)

Getting Started with Mulberry
Getting Started with MulberryGetting Started with Mulberry
Getting Started with Mulberry
 
Introducing Mulberry
Introducing MulberryIntroducing Mulberry
Introducing Mulberry
 
DojoConf: Building Large Apps
DojoConf: Building Large AppsDojoConf: Building Large Apps
DojoConf: Building Large Apps
 
Lessons from-a-rewrite-gotham
Lessons from-a-rewrite-gothamLessons from-a-rewrite-gotham
Lessons from-a-rewrite-gotham
 
Lessons from a Rewrite
Lessons from a RewriteLessons from a Rewrite
Lessons from a Rewrite
 
Cleaner, Leaner, Meaner: Refactoring your jQuery
Cleaner, Leaner, Meaner: Refactoring your jQueryCleaner, Leaner, Meaner: Refactoring your jQuery
Cleaner, Leaner, Meaner: Refactoring your jQuery
 
The jQuery Divide
The jQuery DivideThe jQuery Divide
The jQuery Divide
 
Building Large jQuery Applications
Building Large jQuery ApplicationsBuilding Large jQuery Applications
Building Large jQuery Applications
 
Delivering a Responsive UI
Delivering a Responsive UIDelivering a Responsive UI
Delivering a Responsive UI
 
Dojo Confessions
Dojo ConfessionsDojo Confessions
Dojo Confessions
 
Using Objects to Organize your jQuery Code
Using Objects to Organize your jQuery CodeUsing Objects to Organize your jQuery Code
Using Objects to Organize your jQuery Code
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Retooling Your Workflow