``` > lets login $repo # Steps you through logging into github and checks access by attempting the given repo # Will automatically try ssh:// if git:// access is blocked > lets get $repoOrBranch # if in a git repo, checks out via the address and adds the remote. # Otherwise, checks out the local or remote branch if it exists > lets branch $branchName # If it creates a new branch, automatically sets the "parent" branch to the current branch (to update from) > lets prune [$branchName] # asks you if you're sure # deletes the local branch and prompts you to delete the remote branch if it exists # then checks out the parent branch (if on that branch) > lets see # prints: # - current branch # - default remote # - if there are differences between local and remote # - if there are updates to the parent branch not merged in > lets review # shows the uncommitted changes on this branch compared to local > lets share # warns/stalls if there are local changes # then pushes changes you have locally to the remote > lets simplify # allows you to re-organize existing commits # allows you to split a single branch into multiple branches # can also submit prs > lets pr # creates a pull request with the given branch and opens it in a new window (github/gitlab) > lets update [$branchName] # If no branchName and there are remote changes, merges in the remote branch with the same name # then, if no branchName and there are changes to the parent branch, merges those in # If remote branch differs from local, a warning/stall is shown and you can choose local or remote # rebases by default (no merge commits) > lets pretend this never happend > lets undo # displays and undoes the last "effectful" `lets` action (including effects on the remote) ```