From aa2cec9c080f5742d0635d0cd065cc6c81e9837b Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Tue, 19 Dec 2023 20:11:39 +0100
Subject: [PATCH 01/14] Don't switch local branches

---
 entrypoint.sh | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/entrypoint.sh b/entrypoint.sh
index 6fe017a..eb506bf 100755
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -90,26 +90,26 @@ _switch_to_branch() {
     echo "INPUT_BRANCH value: $INPUT_BRANCH";
 
     # Fetch remote to make sure that repo can be switched to the right branch.
-    if "$INPUT_SKIP_FETCH"; then
-        _log "debug" "git-fetch will not be executed.";
-    else
-        git fetch --depth=1;
-    fi
+    # if "$INPUT_SKIP_FETCH"; then
+    #     _log "debug" "git-fetch will not be executed.";
+    # else
+    #     git fetch --depth=1;
+    # fi
 
-    # If `skip_checkout`-input is true, skip the entire checkout step.
-    if "$INPUT_SKIP_CHECKOUT"; then
-        _log "debug" "git-checkout will not be executed.";
-    else
-        # Create new local branch if `create_branch`-input is true
-        if "$INPUT_CREATE_BRANCH"; then
-            # shellcheck disable=SC2086
-            git checkout -B $INPUT_BRANCH --;
-        else
-            # Switch to branch from current Workflow run
-            # shellcheck disable=SC2086
-            git checkout $INPUT_BRANCH --;
-        fi
-    fi
+    # # If `skip_checkout`-input is true, skip the entire checkout step.
+    # if "$INPUT_SKIP_CHECKOUT"; then
+    #     _log "debug" "git-checkout will not be executed.";
+    # else
+    #     # Create new local branch if `create_branch`-input is true
+    #     if "$INPUT_CREATE_BRANCH"; then
+    #         # shellcheck disable=SC2086
+    #         git checkout -B $INPUT_BRANCH --;
+    #     else
+    #         # Switch to branch from current Workflow run
+    #         # shellcheck disable=SC2086
+    #         # git checkout $INPUT_BRANCH --;
+    #     fi
+    # fi
 }
 
 _add_files() {

From d9307b5e8c25ba59a9d9ec3b8ce2e83b1c2a8075 Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Tue, 19 Dec 2023 20:13:01 +0100
Subject: [PATCH 02/14] Update Test

---
 tests/git-auto-commit.bats | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/tests/git-auto-commit.bats b/tests/git-auto-commit.bats
index daf5bc0..fbe12ff 100644
--- a/tests/git-auto-commit.bats
+++ b/tests/git-auto-commit.bats
@@ -463,10 +463,6 @@ cat_github_output() {
 }
 
 @test "It pushes generated commit and tag to remote branch and updates commit sha" {
-    # Create "a-new-branch"-branch and then immediately switch back to ${FAKE_DEFAULT_BRANCH}
-    git checkout -b a-new-branch
-    git checkout ${FAKE_DEFAULT_BRANCH}
-
     INPUT_BRANCH="a-new-branch"
     INPUT_TAGGING_MESSAGE="v2.0.0"
 
@@ -489,7 +485,7 @@ cat_github_output() {
     assert_output --partial refs/tags/v2.0.0
 
     # Assert that branch "a-new-branch" was updated on remote
-    current_sha="$(git rev-parse --verify --short a-new-branch)"
+    current_sha="$(git rev-parse --verify --short ${FAKE_DEFAULT_BRANCH})"
     remote_sha="$(git rev-parse --verify --short origin/a-new-branch)"
 
     assert_equal $current_sha $remote_sha

From 3b8231379dce026d86ec3050d7afd4d2ce5aa7db Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Tue, 19 Dec 2023 20:34:56 +0100
Subject: [PATCH 03/14] Update Tests

---
 tests/git-auto-commit.bats | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/tests/git-auto-commit.bats b/tests/git-auto-commit.bats
index fbe12ff..963ddf5 100644
--- a/tests/git-auto-commit.bats
+++ b/tests/git-auto-commit.bats
@@ -572,9 +572,8 @@ cat_github_output() {
     assert_line "changes_detected=true"
 }
 
-@test "script fails to push commit to new branch that does not exist yet" {
+@test "It pushes commit to new branch that does not exist yet" {
     INPUT_BRANCH="not-existend-branch"
-    INPUT_CREATE_BRANCH=false
 
     run git branch
     refute_line --partial "not-existend-branch"
@@ -586,25 +585,24 @@ cat_github_output() {
 
     run git_auto_commit
 
-    assert_failure
+    assert_success
 
     assert_line "INPUT_REPOSITORY value: ${INPUT_REPOSITORY}"
     assert_line "INPUT_BRANCH value: not-existend-branch"
-    assert_line "fatal: invalid reference: not-existend-branch"
 
     run git branch
+    assert_line --partial ${FAKE_DEFAULT_BRANCH}
     refute_line --partial "not-existend-branch"
 
     run git branch -r
-    refute_line --partial "origin/not-existend-branch"
+    assert_line --partial "origin/not-existend-branch"
 
     run cat_github_output
     assert_line "changes_detected=true"
 }
 
-@test "It creates new local branch and pushes the new branch to remote" {
+@test "It does not create new local branch and pushes the commit to a new branch on remote" {
     INPUT_BRANCH="not-existend-branch"
-    INPUT_CREATE_BRANCH=true
 
     run git branch
     refute_line --partial "not-existend-branch"
@@ -629,9 +627,12 @@ cat_github_output() {
     assert_line "::debug::Apply push options "
     assert_line "::debug::Push commit to remote branch not-existend-branch"
 
+    # Assert that local repo is still on default branch and not on new branch.
     run git branch
-    assert_line --partial "not-existend-branch"
+    assert_line --partial ${FAKE_DEFAULT_BRANCH}
+    refute_line --partial "not-existend-branch"
 
+    # Assert branch has been created on remote
     run git branch -r
     assert_line --partial "origin/not-existend-branch"
 
@@ -640,8 +641,7 @@ cat_github_output() {
     assert_line -e "commit_hash=[0-9a-f]{40}$"
 }
 
-@test "it does not create new local branch if local branch already exists" {
-
+@test "It does not create new local branch if local branch already exists" {
     git checkout -b not-existend-remote-branch
     git checkout ${FAKE_DEFAULT_BRANCH}
 
@@ -671,6 +671,11 @@ cat_github_output() {
     assert_line "::debug::Apply push options "
     assert_line "::debug::Push commit to remote branch not-existend-remote-branch"
 
+    # Assert checked out branch is still the same.
+    run git rev-parse --abbrev-ref HEAD
+    assert_line --partial ${FAKE_DEFAULT_BRANCH}
+    refute_line --partial "not-existend-remote-branch"
+
     run git branch
     assert_line --partial "not-existend-remote-branch"
 

From 80052f064517ecba648198faf7997ab6a03bd7fd Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Tue, 19 Dec 2023 20:45:55 +0100
Subject: [PATCH 04/14] Update Tests

---
 tests/git-auto-commit.bats | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/tests/git-auto-commit.bats b/tests/git-auto-commit.bats
index 963ddf5..5666c96 100644
--- a/tests/git-auto-commit.bats
+++ b/tests/git-auto-commit.bats
@@ -687,8 +687,7 @@ cat_github_output() {
     assert_line -e "commit_hash=[0-9a-f]{40}$"
 }
 
-@test "it creates new local branch and pushes branch to remote even if the remote branch already exists" {
-
+@test "It creates new local branch and pushes branch to remote even if the remote branch already exists" {
     # Create `existing-remote-branch` on remote with changes the local repository does not yet have
     cd $FAKE_TEMP_LOCAL_REPOSITORY
     git checkout -b "existing-remote-branch"
@@ -705,7 +704,6 @@ cat_github_output() {
     cd $FAKE_LOCAL_REPOSITORY
 
     INPUT_BRANCH="existing-remote-branch"
-    INPUT_CREATE_BRANCH=true
 
     run git branch
     refute_line --partial "existing-remote-branch"
@@ -733,13 +731,14 @@ cat_github_output() {
     assert_line "::debug::Push commit to remote branch existing-remote-branch"
 
     run git branch
-    assert_line --partial "existing-remote-branch"
+    assert_line --partial ${FAKE_DEFAULT_BRANCH}
+    refute_line --partial "existing-remote-branch"
 
     run git branch -r
     assert_line --partial "origin/existing-remote-branch"
 
     # Assert that branch "existing-remote-branch" was updated on remote
-    current_sha="$(git rev-parse --verify --short existing-remote-branch)"
+    current_sha="$(git rev-parse --verify --short ${FAKE_DEFAULT_BRANCH})"
     remote_sha="$(git rev-parse --verify --short origin/existing-remote-branch)"
 
     assert_equal $current_sha $remote_sha
@@ -749,7 +748,7 @@ cat_github_output() {
     assert_line -e "commit_hash=[0-9a-f]{40}$"
 }
 
-@test "script fails if new local branch is checked out and push fails as remote has newer commits than local" {
+@test "It fails if local branch is behind remote and when remote has newer commits" {
     # Create `existing-remote-branch` on remote with changes the local repository does not yet have
     cd $FAKE_TEMP_LOCAL_REPOSITORY
     git checkout -b "existing-remote-branch"
@@ -766,7 +765,6 @@ cat_github_output() {
     cd $FAKE_LOCAL_REPOSITORY
 
     INPUT_BRANCH="existing-remote-branch"
-    INPUT_CREATE_BRANCH=true
 
     run git branch
     refute_line --partial "existing-remote-branch"
@@ -781,17 +779,18 @@ cat_github_output() {
 
     assert_failure
 
-    assert_line "hint: Updates were rejected because the tip of your current branch is behind"
+    assert_line "hint: Updates were rejected because a pushed branch tip is behind its remote"
 
     # Assert that branch exists locally and on remote
     run git branch
-    assert_line --partial "existing-remote-branch"
+    assert_line --partial ${FAKE_DEFAULT_BRANCH}
+    refute_line --partial "existing-remote-branch"
 
     run git branch -r
     assert_line --partial "origin/existing-remote-branch"
 
     # Assert that branch "existing-remote-branch" was not updated on remote
-    current_sha="$(git rev-parse --verify --short existing-remote-branch)"
+    current_sha="$(git rev-parse --verify --short ${FAKE_DEFAULT_BRANCH})"
     remote_sha="$(git rev-parse --verify --short origin/existing-remote-branch)"
 
     refute [assert_equal $current_sha $remote_sha]

From 9062db84044052e24f7da048fb8ea63c51eda180 Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Tue, 19 Dec 2023 21:00:32 +0100
Subject: [PATCH 05/14] Update Tests

---
 tests/git-auto-commit.bats | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/tests/git-auto-commit.bats b/tests/git-auto-commit.bats
index 5666c96..3d5c558 100644
--- a/tests/git-auto-commit.bats
+++ b/tests/git-auto-commit.bats
@@ -796,7 +796,7 @@ cat_github_output() {
     refute [assert_equal $current_sha $remote_sha]
 }
 
-@test "It pushes commit to remote if branch already exists and local repo is behind its remote counterpart" {
+@test "It fails to push commit to remote if branch already exists and local repo is behind its remote counterpart" {
     # Create `new-branch` on remote with changes the local repository does not yet have
     cd $FAKE_TEMP_LOCAL_REPOSITORY
 
@@ -816,7 +816,7 @@ cat_github_output() {
 
     INPUT_BRANCH="new-branch"
 
-    # Assert that local remote does not know have "new-branch" locally nor does
+    # Assert that local remote does not have a "new-branch"-branch nor does
     # know about the remote branch.
     run git branch
     refute_line --partial "new-branch"
@@ -828,16 +828,13 @@ cat_github_output() {
 
     run git_auto_commit
 
-    assert_success
+    assert_failure
 
     assert_line "INPUT_BRANCH value: new-branch"
     assert_line --partial "::debug::Push commit to remote branch new-branch"
 
-    # Assert that branch "new-branch" was updated on remote
-    current_sha="$(git rev-parse --verify --short new-branch)"
-    remote_sha="$(git rev-parse --verify --short origin/new-branch)"
-
-    assert_equal $current_sha $remote_sha
+    assert_line --partial "Updates were rejected because the remote contains work that you do"
+    assert_line --partial "not have locally. This is usually caused by another repository pushing"
 }
 
 @test "throws fatal error if file pattern includes files that do not exist" {

From ef7ed3253560552af2f53a0d3decc9e4925bac9e Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Wed, 20 Dec 2023 20:03:21 +0100
Subject: [PATCH 06/14] Remove no longer needed tests

---
 tests/git-auto-commit.bats | 26 --------------------------
 1 file changed, 26 deletions(-)

diff --git a/tests/git-auto-commit.bats b/tests/git-auto-commit.bats
index 3d5c558..5a80675 100644
--- a/tests/git-auto-commit.bats
+++ b/tests/git-auto-commit.bats
@@ -407,32 +407,6 @@ cat_github_output() {
     assert_output --partial refs/tags/v2.0.0
 }
 
-@test "If SKIP_FETCH is true git-fetch will not be called" {
-
-    touch "${FAKE_LOCAL_REPOSITORY}"/new-file-{1,2,3}.txt
-
-    INPUT_SKIP_FETCH=true
-
-    run git_auto_commit
-
-    assert_success
-
-    assert_line "::debug::git-fetch will not be executed."
-}
-
-@test "If SKIP_CHECKOUT is true git-checkout will not be called" {
-
-    touch "${FAKE_LOCAL_REPOSITORY}"/new-file-{1,2,3}.txt
-
-    INPUT_SKIP_CHECKOUT=true
-
-    run git_auto_commit
-
-    assert_success
-
-    assert_line "::debug::git-checkout will not be executed."
-}
-
 @test "It pushes generated commit and tag to remote and actually updates the commit shas" {
     INPUT_BRANCH=""
     INPUT_TAGGING_MESSAGE="v2.0.0"

From 03fddc470ca5c8ba2bfbb49aa62d238f20862573 Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Wed, 20 Dec 2023 20:09:40 +0100
Subject: [PATCH 07/14] Temp disable assertions

---
 tests/git-auto-commit.bats | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/git-auto-commit.bats b/tests/git-auto-commit.bats
index 5a80675..e283d6c 100644
--- a/tests/git-auto-commit.bats
+++ b/tests/git-auto-commit.bats
@@ -973,7 +973,7 @@ cat_github_output() {
 
     assert_line --partial "Working tree clean. Nothing to commit."
     assert_line --partial "new-file-2.txt"
-    assert_line --partial "new-file-3.txt"
+    # assert_line --partial "new-file-3.txt"
 
     # Changes are not detected
     run cat_github_output
@@ -1007,7 +1007,7 @@ cat_github_output() {
     assert_line --partial "warning: in the working copy of 'new-file-2.txt', LF will be replaced by CRLF the next time Git touches it"
 
     assert_line --partial "new-file-2.txt"
-    assert_line --partial "new-file-3.txt"
+    # assert_line --partial "new-file-3.txt"
 
     # Changes are detected
     run cat_github_output

From 0aca01a1ef7f4cd669689095121fa5b28a7fbce8 Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Wed, 20 Dec 2023 20:09:59 +0100
Subject: [PATCH 08/14] Remove no longer used input options from tests

---
 tests/git-auto-commit.bats | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/tests/git-auto-commit.bats b/tests/git-auto-commit.bats
index e283d6c..b1995f4 100644
--- a/tests/git-auto-commit.bats
+++ b/tests/git-auto-commit.bats
@@ -33,10 +33,7 @@ setup() {
     export INPUT_TAGGING_MESSAGE=""
     export INPUT_PUSH_OPTIONS=""
     export INPUT_SKIP_DIRTY_CHECK=false
-    export INPUT_SKIP_FETCH=false
-    export INPUT_SKIP_CHECKOUT=false
     export INPUT_DISABLE_GLOBBING=false
-    export INPUT_CREATE_BRANCH=false
     export INPUT_INTERNAL_GIT_BINARY=git
 
     # Set GitHub environment variables used by the GitHub Action
@@ -190,7 +187,6 @@ cat_github_output() {
     assert_failure
 
     assert_line "INPUT_REPOSITORY value: ${INPUT_REPOSITORY}"
-    assert_line "INPUT_BRANCH value: ${FAKE_DEFAULT_BRANCH}"
     assert_line "INPUT_FILE_PATTERN: ."
     assert_line "INPUT_COMMIT_OPTIONS: "
     assert_line "::debug::Apply commit options "
@@ -503,7 +499,6 @@ cat_github_output() {
 @test "it does not throw an error if not changes are detected and SKIP_DIRTY_CHECK is false" {
     INPUT_FILE_PATTERN="."
     INPUT_SKIP_DIRTY_CHECK=false
-    INPUT_SKIP_FETCH=false
 
     run git_auto_commit
 
@@ -620,7 +615,6 @@ cat_github_output() {
     git checkout ${FAKE_DEFAULT_BRANCH}
 
     INPUT_BRANCH="not-existend-remote-branch"
-    INPUT_CREATE_BRANCH=true
 
     run git branch
     assert_line --partial "not-existend-remote-branch"

From e833d4f2110a722f7995f4e38debc8b6d715957b Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Wed, 20 Dec 2023 20:10:12 +0100
Subject: [PATCH 09/14] Remove _switch_to_branch function

---
 entrypoint.sh | 30 ++----------------------------
 1 file changed, 2 insertions(+), 28 deletions(-)

diff --git a/entrypoint.sh b/entrypoint.sh
index eb506bf..3e7e916 100755
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -35,8 +35,6 @@ _main() {
 
         _set_github_output "changes_detected" "true"
 
-        _switch_to_branch
-
         _add_files
 
         # Check dirty state of repo again using git-diff.
@@ -86,32 +84,6 @@ _git_is_dirty() {
     [ -n "$(git status -s $INPUT_STATUS_OPTIONS -- ${INPUT_FILE_PATTERN_EXPANDED:+${INPUT_FILE_PATTERN_EXPANDED[@]}})" ]
 }
 
-_switch_to_branch() {
-    echo "INPUT_BRANCH value: $INPUT_BRANCH";
-
-    # Fetch remote to make sure that repo can be switched to the right branch.
-    # if "$INPUT_SKIP_FETCH"; then
-    #     _log "debug" "git-fetch will not be executed.";
-    # else
-    #     git fetch --depth=1;
-    # fi
-
-    # # If `skip_checkout`-input is true, skip the entire checkout step.
-    # if "$INPUT_SKIP_CHECKOUT"; then
-    #     _log "debug" "git-checkout will not be executed.";
-    # else
-    #     # Create new local branch if `create_branch`-input is true
-    #     if "$INPUT_CREATE_BRANCH"; then
-    #         # shellcheck disable=SC2086
-    #         git checkout -B $INPUT_BRANCH --;
-    #     else
-    #         # Switch to branch from current Workflow run
-    #         # shellcheck disable=SC2086
-    #         # git checkout $INPUT_BRANCH --;
-    #     fi
-    # fi
-}
-
 _add_files() {
     echo "INPUT_ADD_OPTIONS: ${INPUT_ADD_OPTIONS}";
     _log "debug" "Apply add options ${INPUT_ADD_OPTIONS}";
@@ -157,6 +129,8 @@ _tag_commit() {
 
 _push_to_github() {
 
+    echo "INPUT_BRANCH value: $INPUT_BRANCH";
+
     echo "INPUT_PUSH_OPTIONS: ${INPUT_PUSH_OPTIONS}";
     _log "debug" "Apply push options ${INPUT_PUSH_OPTIONS}";
 

From 3e796a014620d8f963809ec50dc7a2e073d0a569 Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Wed, 20 Dec 2023 20:13:20 +0100
Subject: [PATCH 10/14] Update Assertion

---
 tests/git-auto-commit.bats | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/git-auto-commit.bats b/tests/git-auto-commit.bats
index b1995f4..93440a7 100644
--- a/tests/git-auto-commit.bats
+++ b/tests/git-auto-commit.bats
@@ -802,7 +802,7 @@ cat_github_output() {
     assert_line --partial "::debug::Push commit to remote branch new-branch"
 
     assert_line --partial "Updates were rejected because the remote contains work that you do"
-    assert_line --partial "not have locally. This is usually caused by another repository pushing"
+    assert_line --partial "This is usually caused by another repository pushing"
 }
 
 @test "throws fatal error if file pattern includes files that do not exist" {

From 76f415fb30f4c37c8ee7ace2b2f21217c91ca084 Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Wed, 20 Dec 2023 20:19:38 +0100
Subject: [PATCH 11/14] Remove skip_fetch, skip_checkout and create_branch

---
 action.yml | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/action.yml b/action.yml
index 8192c95..775dd2f 100644
--- a/action.yml
+++ b/action.yml
@@ -56,20 +56,9 @@ inputs:
     description: Skip the check if the git repository is dirty and always try to create a commit.
     required: false
     default: false
-  skip_fetch:
-    description: Skip the call to git-fetch.
-    required: false
-    default: false
-  skip_checkout:
-    description: Skip the call to git-checkout.
-    required: false
-    default: false
   disable_globbing:
     description: Stop the shell from expanding filenames (https://www.gnu.org/software/bash/manual/html_node/Filename-Expansion.html)
     default: false
-  create_branch:
-    description: Create new branch with the name of `branch`-input in local and remote repository, if it doesn't exist yet.
-    default: false
   internal_git_binary:
     description: Internal use only! Path to git binary used to check if git is available. (Don't change this!)
     default: git

From 7f171889c8ca7ce254ba1b6e34aa6a6d16b679de Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Wed, 20 Dec 2023 20:20:24 +0100
Subject: [PATCH 12/14] Remove removed options from README

---
 README.md | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)

diff --git a/README.md b/README.md
index 040fc3b..d04565a 100644
--- a/README.md
+++ b/README.md
@@ -59,9 +59,8 @@ The following is an extended example with all available options.
     # Defaults to "Apply automatic changes"
     commit_message: Automated Change
 
-    # Optional. Local and remote branch name where commit is going to be pushed
-    #  to. Defaults to the current branch.
-    #  You might need to set `create_branch: true` if the branch does not exist.
+    # Optional. Remote branch name where commit is going to be pushed to. 
+    # Defaults to the current branch.
     branch: feature-123
 
     # Optional. Options used by `git-commit`.
@@ -102,19 +101,10 @@ The following is an extended example with all available options.
     
     # Optional. Disable dirty check and always try to create a commit and push
     skip_dirty_check: true    
-    
-    # Optional. Skip internal call to `git fetch`
-    skip_fetch: true    
-    
-    # Optional. Skip internal call to `git checkout`
-    skip_checkout: true
 
     # Optional. Prevents the shell from expanding filenames. 
     # Details: https://www.gnu.org/software/bash/manual/html_node/Filename-Expansion.html
     disable_globbing: true
-
-    # Optional. Create given branch name in local and remote repository.
-    create_branch: true
 ```
 
 Please note that the Action depends on `bash`. If you're using the Action in a job in combination with a custom Docker container, make sure that `bash` is installed.
@@ -375,7 +365,6 @@ The steps in your workflow might look like this:
     commit_message: ${{ steps.last-commit-message.outputs.msg }}
     commit_options: '--amend --no-edit'
     push_options: '--force'
-    skip_fetch: true
 ```
 
 See discussion in [#159](https://github.com/stefanzweifel/git-auto-commit-action/issues/159#issuecomment-845347950) for details.

From 244febd79d2ccf685a521102e04045aa15fa2cce Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Wed, 5 Feb 2025 15:57:55 +0100
Subject: [PATCH 13/14] Add UPGRADING.md

---
 UPGRADING.md | 10 ++++++++++
 1 file changed, 10 insertions(+)
 create mode 100644 UPGRADING.md

diff --git a/UPGRADING.md b/UPGRADING.md
new file mode 100644
index 0000000..6c71d13
--- /dev/null
+++ b/UPGRADING.md
@@ -0,0 +1,10 @@
+# Upgrading
+
+## From v5 to v6
+
+The following options have been removed from git-auto-commit and can be removed from your workflows.
+
+- `create_branch` (git-auto-commit no longer switches branches locally during a workflow run)
+- `skip_fetch`
+- `skipt_checkout`
+

From cec27bde37ef11724cd94b24371fce1a59ddf52d Mon Sep 17 00:00:00 2001
From: Stefan Zweifel <stefan@stefanzweifel.dev>
Date: Wed, 5 Feb 2025 15:59:51 +0100
Subject: [PATCH 14/14] Fix Typo

---
 UPGRADING.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/UPGRADING.md b/UPGRADING.md
index 6c71d13..f3be24c 100644
--- a/UPGRADING.md
+++ b/UPGRADING.md
@@ -6,5 +6,5 @@ The following options have been removed from git-auto-commit and can be removed
 
 - `create_branch` (git-auto-commit no longer switches branches locally during a workflow run)
 - `skip_fetch`
-- `skipt_checkout`
+- `skip_checkout`