Coder Social home page Coder Social logo

mob's Introduction

Swift git handover with mob

mob Logo

Swift git handover with 'mob'.

How to install

curl -sL install.mob.sh | sh

If you are under Windows, you should use git bash to install mob.

You can also install it on macOS via homebrew:

brew install remotemobprogramming/brew/mob

How to use

You only need three commands: mob start, mob next, and mob done. Switch to a separate branch with mob start and handover to the next person with mob next. Continue with mob start and handover to the next person with mob next. Continue with mob start and handover to the next person with mob next. Continue with mob start and handover to the next person with mob next. ... When you're done, get your changes into the staging area of the master branch with mob done and commit them.

asciicast

USAGE
mob start [<minutes>] [--include-uncommitted-changes] [--branch|-b <branch>]	# start mob session in wip branch
mob next [-s|--stay] 		# handover to next person and switch back to base branch
mob done 			# finish mob session by squashing all changes in wip branch to index in base branch
mob reset [--branch|-b <branch>]# removes local and remote wip branch
mob status 			# show status
mob timer <minutes>		# start a <minutes> timer
mob config 			# print configuration
mob moo 			# moo!
mob version 			# print version number
mob help 			# print usage
EXAMPLES
mob start 10 			# start 10 min session in wip branch 'mob-session'
mob start --branch green 	# start session in wip branch 'mob/<base-branch>/green'
mob next --stay			# handover code and stay on wip branch
mob done 			# get changes back to base branch
mob moo 			# be amazed

How does it work

  • mob start creates branch mob-session and pulls from origin/mob-session
  • mob next pushes all changes to origin/mob-sessionin a mob next [ci-skip] commit
  • mob done squashes all changes in mob-session into staging of master and removes mob-session and origin/mob-session
  • mob timer 10 start a ten minute timer
  • mob start 10 combines mob start and mob timer 10
  • mob status display the mob session status and all the created WIP commits
  • mob reset deletes mob-session and origin/mob-session
  • mob config print configuration

Screen Share Integration

Mob no longer supports starting the screen share on 'mob start'. Why? At first, this feature sounds awesome. In practice, however, that feature wasn't much help. It only simulated keying in a keyboard shortcut and had several shortcomings: a) it needed to be configured correctly, b) only toggled screen share, so one had to keep in mind whether one was already screen sharing or not, and c) solely supported Zoom on macOS and Linux. The feature promised too much, and hold very little of it.

Still, that keyboard shortcut to toggle screen sharing in Zoom is still very helpful. Just press the hotkey yourself. It is, however, essential to make the shortcut globally available (Zoom > Preferences > Keyboard Shortcuts). Otherwise, the hotkey won't work. More tips on setting up Zoom for effective screen sharing.

More on Installation

Linux Timer

To get the timer to play "mob next" on your speakers when your time is up, you'll need an installed speech engine. Install that on Debian/Ubuntu/Mint as follows:

sudo apt-get install espeak-ng-espeak mbrola-us1

Create a little script in your $PATH called say with the following content:

#!/bin/sh
espeak -v us-mbrola-1 "$@"

How to configure

Show your current configuration with mob config:

MOB_REMOTE_NAME=origin
MOB_WIP_COMMIT_MESSAGE=mob next [ci-skip]
MOB_VOICE_COMMAND=say
MOB_NEXT_STAY=false
MOB_START_INCLUDE_UNCOMMITTED_CHANGES=false
MOB_DEBUG=false

Override default value permanently via environment variables:

export MOB_DEBUG=true

Override default value just for a single call:

MOB_DEBUG=true mob next

How to contribute

Open an issue or create a pull request.

Credits

Developed and maintained by Dr. Simon Harrer.

Contributions and testing by Jochen Christ, Martin Huber, Franziska Dessart, Nikolas Hermann and Christoph Welcz. Thank you!

Logo designed by Sonja Scheungrab.

<script async defer src="https://cdn.simpleanalytics.io/hello.js"></script>

<style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>

mob's People

Contributors

enolive avatar fatso83 avatar froth avatar gesellc avatar harrisonmc555 avatar jaybazuzi avatar jerger avatar jlangr avatar l7r7 avatar mariusbuescher avatar martinotten avatar mikaello avatar muescha avatar nikolashermann avatar simonharrer avatar stritti avatar tnorthcutt avatar tsundberg avatar vanto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.