Содержание
- Error: the Following Untracked Working Tree Files Would Be Overwritten by Merge
- Tell the Local Branch to Track the Remote Branch
- Find Your Bootcamp Match
- Staging and Stashing
- Fetching and Resetting
- Conclusion
- What’s Next?
- Kelly M.
- git pull error: The following untracked working tree files would be overwritten by merge #92
- Comments
- Simone Web Design
- Why am I seeing this error?
- How do I fix it?
- Wait — that’s it?
Error: the Following Untracked Working Tree Files Would Be Overwritten by Merge
Kelly M. — November 10, 2020
The error above is often triggered when we do not clone the repository we are trying to pull from. The projects may be identical, but we may be working on one locally while trying to pull it from the repo on Github because it may have other files or features we’d like to incorporate on our local version.
There are several ways to fix this.
Tell the Local Branch to Track the Remote Branch
We can do this by using the command below.
Find Your Bootcamp Match
- Career Karma matches you with top tech bootcamps
- Access exclusive scholarships and prep courses
Select your interest
First name
Last name
Phone number
By continuing you agree to our Terms of Service and Privacy Policy , and you consent to receive offers and opportunities from Career Karma by telephone, text message, and email.
By doing this, the remote branch becomes a counterpart to the remote server. After this, do a git status to see the difference between the two repos.
Staging and Stashing
To pull so local files are not overwritten from version control, we can also stage and then stash by using the commands below.
With git add -A, we are staging all changes. It is the same as git add in that it looks at all
working trees and adds all working paths to stages changes, changed, new, or not ignored. In addition to this, it also acts like git add -u in that it looks at the files already being tracked, and stages the changes to those files if they have been removed or if they differ.
With git stash we are taking staged and unstaged uncommitted changes, stashing them away for future use, then reverting them from a working copy. After this, we are free to make changes like pulling new files.
Fetching and Resetting
If neither of the above has worked for you yet, try fetching and resetting. Because we will be using –hard on this option, it is important to at least attempt the two above as –hard is a potentially dangerous command which throws away all uncommitted changes.
Please do a git status before attempting the fix below to make sure your output is empty.
With git fetch –all, we can fetch all remote branches. Fetch will update local copies of remote branches, but will not update local branches that track remote branches. To achieve this, we need to do a git pull –all.
With git reset –hard origin/
, we are essentially saying “throw everything away that is in my local branch, and make it the same as my remote branch”. It throws away all staged and unstaged changes.
Conclusion
The error: the following untracked working tree files would be overwritten by merge is triggered when we are trying to pull a remote branch while on a local one. The projects may be identical, but the local one needs to be able to track the remote for it to pull successfully.
This error is often triggered when the developer forgets to clone a repo. Other ways to fix this error is by staging and stashing or fetching and resetting, which should be attempted only if the first two methods were not successful.
«Career Karma entered my life when I needed it most and quickly helped me match with a bootcamp. Two months after graduating, I found my dream job that aligned with my values and goals in life!»
Venus, Software Engineer at Rockbot
Find Your Bootcamp Match
About us: Career Karma is a platform designed to help job seekers find, research, and connect with job training programs to advance their careers. Learn about the CK publication.
What’s Next?
Want to take action?
Get matched with top bootcamps
Kelly M.
About the author: Kelly is a technical writer at Career Karma, where she writes tutorials on a variety of topics. She attended the University of Central Florida, earning a BS in Business Administration. Shortly after, she attended Lambda School, specializing in full stack web development and computer science. Before joining Career Karma in September 2020, Kelly worked as a Developer Advocate at Dwolla and as a team lead at Lambda School. Her technical writing can be found on Codecademy, gitConnected, and JavaScript in Plain English.
Источник
git pull error: The following untracked working tree files would be overwritten by merge #92
Pulling a new master ends with the following error:
The text was updated successfully, but these errors were encountered:
This is caused by changing the basic structure of the retdec repository. We got rid of all git submodules. See https://github.com/avast-tl/retdec/wiki/Project-Repository-Structure for more details.
The are two possible solutions (pick only one):
- Remove the old repository and clone a new one (simple & foolproof):
- Or, fix the existing repository:
This is not really an issue that could be solved. Everyone that had retdec cloned before the change will have to manually fix the repository according to the instructions above.
I will keep this open for now, since this way, it is more visible for anyone searching for the reason why git pull is not working.
This is caused by changing the basic structure of the retdec repository. We got rid of all git submodules. See https://github.com/avast-tl/retdec/wiki/Project-Repository-Structure for more details.
The are two possible solutions (pick only one):
- Remove the old repository and clone a new one (simple & foolproof):
- Or, fix the existing repository:
git fetch —all
git reset —hard origin/<>
This worked for me, May be helpful for other.
Yes this works..thanks
Even after performing the above steps my issue was not solved.
So, unfortunately, I created a new folder and cloned.
git clone «_repo_path_»
take this example:
$ git pull
error: The following untracked working tree files would be overwritten by merge:
deps/googletest/CMakeLists.txt
deps/libdwarf/CMakeLists.txt
deps/llvm/CMakeLists.txt
Please move or remove them before you can merge.
Aborting
What if I am OK to overwrite one file due to merge but want to retain my version for 2 other files?
I’m having this same problem, I tried:
git stash
git stash drop
git pull origin master
but it still results in the same warning:
error: The following untracked working tree files would be overwritten by merge:
web/themes/contrib/bootstrap_barrio/css/components/progress.css
web/themes/contrib/bootstrap_barrio/js/toast.js
web/themes/contrib/bootstrap_barrio/scripts/create_subtheme.sh
web/themes/contrib/bootstrap_barrio/templates/layout/maintenance-page.html.twig
Please move or remove them before you merge.
Aborting
How do I get around this?
@auxiliaryjoel I think that you are in the wrong project (we have never had any of the mentioned files in our repository). Are you sure that you are in a RetDec repository?
@s3rvac oh sorry for confusion I noticed the last person to comment on this was having the same problem (different files but the same problem). I was wondering if @vidven09 was able to resolve their issue. If they have, I think what worked for them may answer my issue?
$ git add *
$ git stash
$ git pull origin master/
You will lose the local changes however.
oh ok so the :
$ git add *
I would do on the remote server that I’m intending to git pull to?
Источник
Simone Web Design
Let’s say you have two Git repositories: one on GitHub, and one on your computer.
They contain identical (or very similar) files, and what you want to do is “synchronize” them (i.e. make them look exactly the same). Maybe all you need is to download a few missing files from GitHub to your computer, or simply push some changes from your machine to GitHub.
You have tried git pull , but you’re getting this error:
You need the changes, but obviously you don’t want to overwrite or lose any files. Don’t worry, the fix is actually straightforward!
Why am I seeing this error?
The reason is probably because you didn’t clone the repository. In my case, I already had some local files, so instead of running git clone , here’s what I did:
If you try to git pull origin
, you might get the “untracked working tree” error.
How do I fix it?
If you have already tried pulling from the remote and it didn’t work, here’s the fix:
For example, if your branch is named main :
What this does is simply tell Git that these two branches, main and origin/main , are related to each other, and that it should keep track of the changes between them. Turns out it also fixes the error, since Git can now see that nothing would be overwritten.
Wait — that’s it?
Yes! After running the command above, git status will indeed reveal the differences between the two repositories: your untracked files (i.e. extra files that you only have on your PC) will still be there, and some other files may have been automatically staged for deletion: these are files that are present in the remote repo, but you don’t have locally.
At this point you’ll want to double-check that everything is the way it should be. You may also want to run:
To get a clean state. Don’t worry, this won’t delete anything at all, it will simply unstage any modification that was applied automatically by Git. You can stage back the changes you care about using git add . — once you are happy, you can finally make a commit and run:
Note there’s no need to specify the origin and the branch name anymore, since the two branches (the local and the remote) are now tracked.
Hopefully this article helped you fix your issue; either way, feel free to ask for help by leaving a comment below.
Источник
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Closed
PeterMatula opened this issue
Jan 15, 2018
· 17 comments
Comments
Pulling a new master ends with the following error:
$ git pull
error: The following untracked working tree files would be overwritten by merge:
deps/googletest/CMakeLists.txt
deps/libdwarf/CMakeLists.txt
deps/llvm/CMakeLists.txt
Please move or remove them before you can merge.
Aborting
Copy link
Collaborator
Author
This is caused by changing the basic structure of the retdec
repository. We got rid of all git submodules. See https://github.com/avast-tl/retdec/wiki/Project-Repository-Structure for more details.
The are two possible solutions (pick only one):
- Remove the old repository and clone a new one (simple & foolproof):
rm -rf retdec
git clone https://github.com/avast-tl/retdec.git
- Or, fix the existing repository:
git submodule deinit --all
git pull
rm -rf build
rm -rf $RETDEC_INSTALL_DIR
Copy link
Collaborator
Author
This is not really an issue that could be solved. Everyone that had retdec
cloned before the change will have to manually fix the repository according to the instructions above.
I will keep this open for now, since this way, it is more visible for anyone searching for the reason why git pull
is not working.
This is caused by changing the basic structure of the
retdec
repository. We got rid of all git submodules. See https://github.com/avast-tl/retdec/wiki/Project-Repository-Structure for more details.The are two possible solutions (pick only one):
- Remove the old repository and clone a new one (simple & foolproof):
rm -rf retdec git clone https://github.com/avast-tl/retdec.git
- Or, fix the existing repository:
git submodule deinit --all git pull rm -rf build rm -rf $RETDEC_INSTALL_DIR
Thanks
git fetch —all
git reset —hard origin/{{your branch name}}
This worked for me, May be helpful for other.
vladimir-lugin, DaneShrewsbury2288, and Nelxio reacted with laugh emoji
anacarmen90, innerpeacez, vladimir-lugin, Jack-Barry, DaneShrewsbury2288, cljk, and wedsonwebdesigner reacted with hooray emoji
bilsak18, vladimir-lugin, dimitris23bp, Ezinnem, nitiratjames, SabaTass, DaneShrewsbury2288, Danielkaas94, and alpizano reacted with heart emoji
Even after performing the above steps my issue was not solved.
So, unfortunately, I created a new folder and cloned.
git clone "_repo_path_"
take this example:
$ git pull
error: The following untracked working tree files would be overwritten by merge:
deps/googletest/CMakeLists.txt
deps/libdwarf/CMakeLists.txt
deps/llvm/CMakeLists.txt
Please move or remove them before you can merge.
Aborting
What if I am OK to overwrite one file due to merge but want to retain my version for 2 other files?
I’m having this same problem, I tried:
git stash
git stash drop
git pull origin master
but it still results in the same warning:
error: The following untracked working tree files would be overwritten by merge:
web/themes/contrib/bootstrap_barrio/css/components/progress.css
web/themes/contrib/bootstrap_barrio/js/toast.js
web/themes/contrib/bootstrap_barrio/scripts/create_subtheme.sh
web/themes/contrib/bootstrap_barrio/templates/layout/maintenance-page.html.twig
Please move or remove them before you merge.
Aborting
How do I get around this?
@auxiliaryjoel I think that you are in the wrong project (we have never had any of the mentioned files in our repository). Are you sure that you are in a RetDec repository?
@s3rvac oh sorry for confusion I noticed the last person to comment on this was having the same problem (different files but the same problem). I was wondering if @vidven09 was able to resolve their issue. If they have, I think what worked for them may answer my issue?
$ git add *
$ git stash
$ git pull origin master/{branch_name}
You will lose the local changes however.
oh ok so the :
$ git add *
I would do on the remote server that I’m intending to git pull to?
Danielkaas94
referenced
this issue
in Danielkaas94/Xenonauts-Mods
Feb 5, 2020
Added in this commit: • New picture + Super Shotgun A big applause and shoutout to mtkumar82: • git fetch --all • git reset --hard origin/{{your branch name}}
git fetch —all
git reset —hard origin/{{your branch name}}This worked for me, May be helpful for other.
omgthank you
run…
git add *
git pull origin master
git pull
$ git add *
$ git stash
$ git pull origin master/{branch_name}You will lose the local changes however.
My change was on remote. Worked fine. Thanks!
ok.. nothing too tough about it.. i had one file listed.. I deleted it, then did a git pull,
all good.
(if you need to, move the files to a different directory — not under git — and do the pull — you will always be able to move them back afterwards if needed.)
I am locking the issue as it has been solved and the newly appearing discussions are not related to RetDec.
avast
locked as resolved and limited conversation to collaborators
Mar 3, 2020
When working on a project with a team, you might stumble upon error messages like these when trying to perform a «git pull» in your repository:
error: Your local changes to the following files would be overwritten by merge: ...
-or-
error: Untracked working tree file 'images/icon.png' would be overwritten by merge
The reason for error messages like these is rather simple: you have local changes that would be overwritten by the incoming new changes that a «git pull» would bring in.
For obvious safety reasons, Git will never simply overwrite your changes. This also means that there is no «force pull» feature in Git — but we can of course perform a couple of steps to emulate such a command.
Step 1: Cleaning Up the Working Copy
First, you’ll need to make sure your working copy doesn’t contain these conflicting changes anymore. There are two ways to achieve this:
a) Saving Local Changes on a Stash
If you want to preserve your local changes, you can safely store them on a Stash. They will be available in case you want them back at a later point.
$ git stash --include-untracked
b) Discarding Local Changes
If you are sure that you don’t need them anymore, you can discard your local changes completely:
$ git reset --hard
If you also have untracked / new files, you will have to use the «git clean» command to get rid of these, too:
$ git clean -fd
Please be careful with these commands: discarding local changes and untracked files cannot be undone!
Step 2: Pull Again
After you have cleaned up any local changes / untracked files that would have been overwritten, the pull will finally work:
$ git pull
Auto-Stashing in Tower
If you’re using the Tower Git client, you’ll notice that it helps you avoid these situations: whenever you have uncommitted local changes present and want to perform an action like Pull, Checkout or Merge, Tower will automatically offer to store these changes safely on a Stash.
This way, you neither have to take any extra steps nor do you have to think about this anymore.
Learn More
- Check out the chapter Integrating Remote Changes in our free online book
- More frequently asked questions about Git & version control