Untracked files prevent checkout как исправить

I’m trying to merge a branch with the master, so I checked out the master but now it won’t let me do the merge:

Untracked Files Prevent Checkout
Move or commit them before checkout
.idea/vcs.xml

I can’t move or delete the file, because it will disengage the VCS from this project
I can’t commit it because it’s not an option when I try to commit
I can’t switch to the branch to see what I can do from that end, because I get the same error message.

How can I fix this and how can I prevent it from happening again? Do I need a .gitignore file that is set up to exclude everything from the .idea folder?

asked Nov 22, 2019 at 20:50

fudge's user avatar

2

The branch you’re trying to merge has this file checked into it, but the master branch has untracked (and possibly in .gitignore). When you’re trying to merge the other branch, Git prevents you from overwriting those files because you might care about them (after all, one side has them tracked).

You have some options:

  • Delete the file and merge, which will include the version from the branch you’re trying to merge.
  • Change the branch (or have the author of the branch change the branch) to not include the file you don’t want to override and make sure it’s in .gitignore. If this is a file specific to a given editor, it probably doesn’t belong in version control, since different people use different editors and different settings.
  • Save the file to somewhere else, merge, and then determine what to do after you see the result of the merge.

answered Nov 22, 2019 at 23:20

bk2204's user avatar

bk2204bk2204

61.7k6 gold badges73 silver badges94 bronze badges

1

Expand the .idea folder and right-click on vxs.xml and have the IDE add that file to to .gitignore. Then you should be able to Pull from GitHub.

answered May 20, 2020 at 12:28

Sam's user avatar

SamSam

9999 silver badges13 bronze badges

One thing that worked for me was that in pycharm, when it asks for smart checkout, don’t use the smart checkout. go through and merge manually.

Dharman's user avatar

Dharman

30.3k22 gold badges84 silver badges132 bronze badges

answered Jan 21, 2021 at 17:05

Emanuele Ebrahimi's user avatar

You should:

  1. create a .gitignore file in local project’s folder,

  2. If you use PHPstorm, press “NO” button, when PHPstorm ask you “add .gitignore file to Git?”

  3. fill it:

    /.gitignore

    /.idea/*

Eric Aya's user avatar

Eric Aya

69.3k35 gold badges180 silver badges252 bronze badges

answered Dec 19, 2022 at 10:38

Andrews32's user avatar

Andrews32Andrews32

371 silver badge5 bronze badges

If you’re working with Git, you may have come across the following error message: “The following untracked working tree files would be overwritten by checkout.” This error may occur when you try to switch to a different branch or commit. In this guide, we’ll show you how to fix this error step-by-step.

Step 1: Check Your Working Tree Status

The first thing you need to do is check the status of your working tree. To do this, open your terminal and navigate to your project directory. Once there, enter the following command:

git status

This command will show you the status of your working tree. If you see the error message “The following untracked working tree files would be overwritten by checkout,” it means that there are untracked files in your working tree that would be overwritten if you switch to a different branch or commit.

Step 2: Move Your Untracked Files

The next step is to move your untracked files to a safe location. You can create a new directory within your project directory and move the files there. To do this, enter the following commands:

mkdir <new_directory_name>
git mv <file_name> <new_directory_name>

This will create a new directory and move the untracked file to that directory.

Step 3: Commit Your Changes

Once you’ve moved your untracked files to a safe location, you need to commit your changes. Enter the following command:

git commit -m "Moved untracked files"

This will commit your changes to Git.

Step 4: Switch to Your Desired Branch or Commit

Now that you’ve committed your changes, you can switch to your desired branch or commit. Enter the following command:

git checkout <branch_or_commit_name>

This will switch you to the desired branch or commit.

FAQ

What causes the “The following untracked working tree files would be overwritten by checkout” error?

This error occurs when you have untracked files in your working tree that would be overwritten if you switch to a different branch or commit.

How can I prevent this error from occurring?

You can prevent this error from occurring by committing all changes to your Git repository before switching to a different branch or commit.

Can I move more than one untracked file at a time?

Yes, you can move multiple untracked files to a new directory by using the following command:

git mv <file1> <file2> <fileN> <new_directory_name>

What if I don’t want to commit the changes I made to the untracked files?

If you don’t want to commit the changes you made to the untracked files, you can use the following command to reset the changes:

git reset <file_name>

Is it possible to recover the untracked files if I accidentally deleted them?

No, if you accidentally deleted the untracked files, they cannot be recovered. It is important to always back up your files before making any changes.

Conclusion

Fixing the “The following untracked working tree files would be overwritten by checkout” error is easy if you follow these steps. By moving your untracked files to a safe location and committing your changes, you can switch to a different branch or commit without any issues. Remember to always commit your changes before switching to a different branch or commit to prevent this error from occurring.

  • Git documentation
  • Git reset documentation
  • Git merge conflicts

Почему возникает ошибка?

Запутался немного в коммитах. Сейчас мне надо смержить одну ветку в другую. checkout – работает нормально, но при попытке мержа выдает ошибку “The following untracked working tree files would be overwritten by merge”. Изменений в каталоге status не находит. Что за фигня такая и как это лечить?


  • Вопрос задан

    более трёх лет назад

  • 33441 просмотр

Это значит, что в текущем рабочем дереве есть неотслеживаемые файлы, которые будут затёрты при merge и Git не позволяет вам потерять возможно важные файлы.
Нужно либо их удалить, либо закоммитить, либо сделать stash, либо занести в .gitignore.

Пригласить эксперта


  • Показать ещё
    Загружается…

24 мая 2023, в 02:03

5000 руб./за проект

23 мая 2023, в 23:46

4000 руб./за проект

23 мая 2023, в 23:15

200 руб./за проект

Минуточку внимания

Steven Quinn

I can’t run git checkout yourFirstExpressApp. I get the following error:
The following untracked working tree files would be overwritten by checkout:
.gitignore
package.json
Please move or remove them before you can switch branches.
Aborting

Can anybody tell me what I’ve done wrong here?

2 Answers

Samuel Webb

It’s because you’re trying to switch branches while you have changed, unsaved files that are already being tracked by Git. Which would be .gitignore and package.json. Your options are to:

  1. Save the files before doing your git checkout

  2. Put them back into their original state, save them, git checkout

Sean Pascoe

I think by “save” he means “commit”. Git is just trying to prevent you from losing any changes you have made to your repository. Make a quick commit and after that you should be able to checkout another branch.

git commit -a -m 'wow great changes'

Добавить комментарий