Overview of My Issue:
While working on a Bitbucket hosted SAP UI5 project, I tried to push my local changes to the remote development branch as my first commit using: git push origin development
Screenshot 1.1: Non-Fast-Forward Error
Because, my current branch is behind the remote and git is preventing me from accidentally overwriting changes.
To fix this, I attempted to pull the latest changes from the remote branch: git pull origin development
Again i received the fatal: refusing to merge unrelated histories error as below:
Screenshot 1.2: Refusing to merge unrelated histories
This is because my local and remote repositories had no shared commit history.
Steps I followed to resolve the issue
Here’s how I resolved the issue in a few steps:
Step 1: Allow Merging Unrelated Histories
git pull origin development –allow-unrelated-histories
This command tells git to merge two separate project histories, even if they’re not connected. It’s usually needed when:
• You created a local repository using git init before linking it to a remote one
• The remote repository already has some commits, like a README or .gitignore file
Screenshot 1.3: Running the –allow-unrelated-histories command
Step 2: Resolve Merge Conflicts (If Any)
Git may pause and ask us to resolve merge conflicts. Open the files, resolve the changes, and then run following commands:
git add .
git commit -m “Merged unrelated histories”
Screenshot 1.4: Merge unrelated histories
Step 3: Push Successfully
Once everything was committed, I finally ran:
git push origin development
And it worked! My changes were safely pushed to the remote branch.
Here you can see the actual bitbucket commit section for better understanding
Why This Happens
This is common when:
When we created a local repo without cloning the remote firstThe remote repo already had commits we don’t have locallyHistories diverge and git can’t auto-resolve them
Instead of force-pushing and risking overwrite, Git stops us and let’s merge safely.
Take away points:
Never force push (–force) unless we are sure that we are not overwriting someone else’s work.Use git log –oneline –graph to understand commit history visually.Always pull before push. Keeps your repo safe from conflicts.
Git errors can be confusing at first glance, but once we understand the intent behind them, they actually protect our code.
If you’re working with SAP UI5, Fiori or any frontend Git workflow. This is a handy fix to remember.
Thank you for taking the time to read this blog! Please suggest your way of approach!
If you found this helpful, feel free to share your thoughts, feedback or questions in the comments! Let’s keep learning and growing together. Happy coding!
Overview of My Issue:While working on a Bitbucket hosted SAP UI5 project, I tried to push my local changes to the remote development branch as my first commit using: git push origin development Screenshot 1.1: Non-Fast-Forward ErrorBecause, my current branch is behind the remote and git is preventing me from accidentally overwriting changes.To fix this, I attempted to pull the latest changes from the remote branch: git pull origin developmentAgain i received the fatal: refusing to merge unrelated histories error as below:Screenshot 1.2: Refusing to merge unrelated historiesThis is because my local and remote repositories had no shared commit history. Steps I followed to resolve the issueHere’s how I resolved the issue in a few steps:Step 1: Allow Merging Unrelated Historiesgit pull origin development –allow-unrelated-historiesThis command tells git to merge two separate project histories, even if they’re not connected. It’s usually needed when:• You created a local repository using git init before linking it to a remote one• The remote repository already has some commits, like a README or .gitignore fileScreenshot 1.3: Running the –allow-unrelated-histories command Step 2: Resolve Merge Conflicts (If Any)Git may pause and ask us to resolve merge conflicts. Open the files, resolve the changes, and then run following commands:git add .git commit -m “Merged unrelated histories”Screenshot 1.4: Merge unrelated histories Step 3: Push SuccessfullyOnce everything was committed, I finally ran:git push origin developmentAnd it worked! My changes were safely pushed to the remote branch.Here you can see the actual bitbucket commit section for better understanding Why This HappensThis is common when:When we created a local repo without cloning the remote firstThe remote repo already had commits we don’t have locallyHistories diverge and git can’t auto-resolve themInstead of force-pushing and risking overwrite, Git stops us and let’s merge safely. Take away points:Never force push (–force) unless we are sure that we are not overwriting someone else’s work.Use git log –oneline –graph to understand commit history visually.Always pull before push. Keeps your repo safe from conflicts.Git errors can be confusing at first glance, but once we understand the intent behind them, they actually protect our code.If you’re working with SAP UI5, Fiori or any frontend Git workflow. This is a handy fix to remember.Thank you for taking the time to read this blog! Please suggest your way of approach!If you found this helpful, feel free to share your thoughts, feedback or questions in the comments! Let’s keep learning and growing together. Happy coding! Read More Technology Blog Posts by Members articles
#SAP
#SAPTechnologyblog