You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.8 KiB
Markdown

---
title: Project management. Git rebase
marp: true
paginate: true
theme: buutti
---
<!-- headingDivider: 3 -->
<!-- class: invert -->
# Project management. Git Rebase (WIP)
## extra
muista:
`git push --force-with-lease`
VS Code: git branch view
## kunnon tapa commitoida
* title & body
* vs code settings:
* commit viesti blockki fontti
* pystyviiva estämään liian pitkät
* push & pull napit
## wip commits
* wip commits
* then `git reset master` ja teet uuen kunnon commitin
* mut mitä jos tää ei riitä?
## Git Rebase
* rewrite your local Git history before merging your private branch to master
* "replays" your commits
`git rebase -i commit_before_start`
* commands
* pick
* reword
* fixup
* edit
* Explained when interactive rebase starts
---
* käy läpi muutokset branchi-viewistä käsin, laita uudet committiviestit ylös johonki esim notepad ja merkkaa mitä komentoa käytät mihinki
* `git merge —ff-only`
* obs: if you've merged something from master to this branch somewhere in the middle, rebase fails
## Extra: splitting a commit
* Want to split one commit to many, or move changes from one commit to another?
* Use interactive rebase like [this](https://stackoverflow.com/questions/6217156/break-a-previous-commit-into-multiple-commits)
* Start an interactive rebase with `git rebase -i <your_commit>^`
* Mark the commit you want to split with the action `edit`.
* When editing said commit, execute `git reset HEAD^`. The effect is that the files of said commit are unstaged now.
* Add the changes to a new commit with `git add`, then commit with `git commit`. Repeat until working tree is clean.
* Continue with `git rebase --continue`
* After this rebase, if you want to combine commits, you can do it with another rebase