Hi. I am on my current branch. $ git log --graph --decorate --pretty=oneline --abbrev-commit * 5b85d64 (HEAD -> SCTT_for_other_tables) Implement script to test CORS * f45a919 Create SCTT for Contractor * 702fcdd (xtucha/SCTT_for_other_tables) Create SCTT for PartnershipAgreement * 7e4cac9 Create SCTT for Language * a0607d1 Fixed broken tests for 'Person' * 1d0a1b2 Create SCTT for DocumentFile * 92837c1 Fix SQL quoting problem I want to pull new changes and apply mine on top of them I do `git pull -v -r` kes@work ~/t $ git pull -v -r amazon SCTT_for_other_tables >From amazon:/v1/repos/tucha * branch SCTT_for_other_tables -> FETCH_HEAD = [up to date] SCTT_for_other_tables -> amazon/SCTT_for_other_tables Created autostash: 97ce867 HEAD is now at 5b85d64 Implement script to test CORS Changes from 5b85d647ecd503cc03b26ed4e33bf8266bc8e96b to a0d92dc11ec11023f6d492497e043170d7128f56: lib/MaitreD/Controller/ContractorTypeI18n.pm | 54 +--------------- public/maitre_d/api-v1.yaml | 158 ++++++++++++++++++++++++++++++++++++++++++++++- t/MaitreD/contractor_type_i18n.t | 117 +++++++++++++++++++++++++++++++++++ 3 files changed, 276 insertions(+), 53 deletions(-) create mode 100644 t/MaitreD/contractor_type_i18n.t Note: checking out 'a0d92dc11ec11023f6d492497e043170d7128f56'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b <new-branch-name> HEAD is now at a0d92dc Merge branch 'SCTT_for_other_tables' of amazon:/v1/repos/tucha into SCTT_for_other_tables Rebasing (1/1) lib/MaitreD/Controller/ContractorTypeI18n.pm | 54 +-------- public/maitre_d/api-v1.yaml | 158 ++++++++++++++++++++++++++- t/MaitreD/contractor_type_i18n.t | 117 ++++++++++++++++++++ 3 files changed, 276 insertions(+), 53 deletions(-) Successfully rebased and updated refs/heads/SCTT_for_other_tables. Applying autostash resulted in conflicts. Your changes are safe in the stash. You can run "git stash pop" or "git stash drop" at any time. As you can see the rebasing is finished successfully except autostash is not applied $ git log --graph --decorate --pretty=oneline --abbrev-commit * a0d92dc (HEAD -> SCTT_for_other_tables, amazon/SCTT_for_other_tables) Merge branch 'SCTT_for_oth |\ | * 5b85d64 Implement script to test CORS * | 0c1ac6c Create SCTT for ContractorTypeI18n |/ * f45a919 Create SCTT for Contractor * 702fcdd (xtucha/SCTT_for_other_tables) Create SCTT for PartnershipAgreement * 7e4cac9 Create SCTT for Language * a0607d1 Fixed broken tests for 'Person' 1. Why I get merge when I ask to rebase? Because of merge I wanna to roll back that. Thus I reset my merge commit kes@work ~/t $ git reset --hard HEAD^ HEAD is now at 0c1ac6c Create SCTT for ContractorTypeI18n 2. Why I moved to 0c1ac6c Create SCTT for ContractorTypeI18n commit instead of 5b85d64 Implement script to test CORS? $ git log --graph --decorate --pretty=oneline --abbrev-commit * 0c1ac6c (HEAD -> SCTT_for_other_tables) Create SCTT for ContractorTypeI18n * f45a919 Create SCTT for Contractor * 702fcdd (xtucha/SCTT_for_other_tables) Create SCTT for PartnershipAgreement * 7e4cac9 Create SCTT for Language * a0607d1 Fixed broken tests for 'Person' * 1d0a1b2 Create SCTT for DocumentFile Because of this the commit:5b85d64 Implement script to test CORS is lost It is not on any branch and with less attention it will be forgotten. Is this behavior expected? Maybe I do something wrong?