Title: Theory / Important / CS / Softw / VCS / Git / Rebase
Tags: fromMath mathToDef FromInstruction computer_to_instruction fromCommand hasNotNewEffectReturnsMeaning instruction_to_flag
On every note of this deck, unless a note says otherwise:
Page: https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History

Question: Which commit can be rebased ?
Answer: Only the one which does not exists outside of my repo
Chapter: 3
Section: 6

Fla: --rebase
Effect: fetch and apply a rebase to the fetched data
Prefix: git pull
Chapter: 3
Section: 6

Fla: rebase otherBranch
Effect: Same as
rebase currentBranch otherBranch
Prefix: git
Chapter: 3
Section: 6
Extra: Let a the most recent ancestors of both t and HEAD.
Move the DAG of commits between a and HEAD to after t.
That is, create a new history of commits, as if everything made to create HEAD has been made after t and not on another branch.

Fla: --onto c6 c3 c9
Effect: apply to c6 all commits that are in c9 but not in c10.
Page: https://git-scm.com/book/en/v2/Git-Branching-Rebasing
Prefix: git rebase
Chapter: 3
Section: 6

Fla: c9' c10
Effect: apply on top of c9' all commits that are in c10.
Same as --onto c9' c9' c10
Page: https://git-scm.com/book/en/v2/Git-Branching-Rebasing
Prefix: git rebase
Chapter: 3
Section: 6

Smaller0: I can rebase b
Greater0: Other people may have done work on top of b
Page: https://git-scm.com/book/en/v2/Git-Branching-Rebasing
Chapter: 3
Section: 6
Variables: b a branch
Smaller to greater: xor

Fla: rebase --interactive commitRef
Effect: Allow to rebase and edit all commit since commitRef up to HEAD
Page: https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History
Prefix: git
Flag abbreviation: rebase --i commitRef
Chapter: 7
Section: 6

Instruction: pick commit
Effect: apply commit to current HEAD
Context: git rebase file
Chapter: 7
Section: 6
Abbreviation: p commit

Instruction: reword commit
Effect: apply commit to current HEAD and ask for a new commit message
Context: git rebase file
Chapter: 7
Section: 6
Abbreviation: r commit

Instruction: edit commit
Effect: apply commit to current HEAD and allow to edit it. `rebase --continue` must be used to restart
Context: git rebase file
Chapter: 7
Section: 6
Abbreviation: e commit

Instruction: squash commit
Effect: apply commit to current HEAD; amend instead of creating a new commit, and concatenate their commit messages
Context: git rebase file
Chapter: 7
Section: 6
Abbreviation: s commit

Instruction: fixup commit
Effect: apply commit to current HEAD; amend instead of creating a new commit, and don't use its commit message
Context: git rebase file
Chapter: 7
Section: 6
Abbreviation: f commit

Instruction: exec cmd
Effect: Execute `cmd` in the shell
Context: git rebase file
Chapter: 7
Section: 6
Abbreviation: x cmd

Instruction: break
Effect: stop here. Wait for `git rebase --continue` to restart
Context: git rebase file
Chapter: 7
Section: 6
Abbreviation: b

Instruction: drop commit
Effect: don't do anything. Remove this commit. Equivalent to having no line
Context: git rebase file
Chapter: 7
Section: 6
Abbreviation: d commit

Instruction: label labelName
Effect: Label current HEAD with name labelName
Context: git rebase file
Chapter: 7
Section: 6
Abbreviation: l labelName

Instruction: merge commitRef -C labelName
Effect: Create a merge commit of Head and commitRef, keeping original merge commit's message
Context: git rebase file
Chapter: 7
Section: 6
Abbreviation: m commitRef -C labelName