mirror of
https://codeberg.org/Codeberg/Documentation.git
synced 2026-06-16 05:13:54 -07:00
# Changelog The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## Changed - Update line length limit from 500 characters to 120 characters. ## Fixed - Most instances of these lint issues: 1. Lines longer than 120 characters ([MD013](https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md013.md)). 2. Trailing whitespaces ([MD009](https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md009.md)). 3. Ordered list item prefix ([MD029](https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md029.md)). 4. Bare links ([MD034](https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md034.md)). Co-authored-by: Patrick Schratz <pat-s@noreply.codeberg.org> Reviewed-on: https://codeberg.org/Codeberg/Documentation/pulls/623 Reviewed-by: Patrick Schratz <pat-s@noreply.codeberg.org> Co-authored-by: Javier Pérez <walpo@noreply.codeberg.org> Co-committed-by: Javier Pérez <walpo@noreply.codeberg.org>
59 lines
1.4 KiB
Markdown
59 lines
1.4 KiB
Markdown
---
|
|
eleventyNavigation:
|
|
key: SquashCommits
|
|
title: Merge multiple commits into one
|
|
parent: Git
|
|
order: 50
|
|
---
|
|
|
|
Sometimes you'll want to merge multiple commits into one. Maybe the commits are "dirty", full of non-working code or
|
|
embarrassing commit messages.
|
|
The solution shown here is only one of many possible solutions.
|
|
See this [StackOverflow question](https://stackoverflow.com/q/2563632/4865723) for more details.
|
|
|
|
Here is an example.
|
|
|
|
```bash
|
|
$ git log --graph --decorate --oneline
|
|
* cf634bb (HEAD -> main) english
|
|
* 722a9c7 zwei
|
|
* e59e6d0 eins
|
|
* c6990ba a
|
|
* 6dfc50b (origin/main, origin/HEAD) ix
|
|
* 10074d7 (tag: test) test
|
|
* 662e04e Initial commit
|
|
|
|
$ git status
|
|
On branch main
|
|
Your branch is ahead of 'origin/main' by 4 commits.
|
|
(use "git push" to publish your local commits)
|
|
|
|
nothing to commit, working tree clean
|
|
```
|
|
|
|
Here, we want to merge the last 4 commits, from `a` to `english`.
|
|
|
|
```bash
|
|
$ git reset --soft "HEAD~4"
|
|
$ git status
|
|
On branch main
|
|
Your branch is up to date with 'origin/main'.
|
|
|
|
Changes to be committed:
|
|
(use "git reset HEAD <file>..." to unstage)
|
|
|
|
new file: a
|
|
|
|
$ git commit --amend
|
|
[main 24e0e06] English
|
|
Date: Wed May 27 13:56:28 2020 +0200
|
|
2 files changed, 3 insertions(+), 1 deletion(-)
|
|
create mode 100644 a
|
|
|
|
$ git log --graph --decorate --oneline
|
|
* 24e0e06 (HEAD -> main) English
|
|
* 10074d7 (tag: test) test
|
|
* 662e04e Initial commit
|
|
```
|
|
|
|
After that, you can push it to the remote repository via `git push`.
|