git checkout: untracked working tree files would be overwritten by checkout

I have the following branches:

master, css-merge-2016, php-merge-2016 and b4-selector-removal I was working on my local files and was committing to branch css-merge-2016 without any issue. But a couple of days back I had to checkout to a specific commit by starting the new branch b4-selector-removal .

After doing the above I switched to master branch, did a git pull . Now whenever I am checking out to the php-merge-2016 using git checkout php-merge-2016 , git status -u shows me a list of files as untracked although I committed them from branch css-merge-2016 .

And if I want to checkout to css-merge-2016 from php-merge-2016 a long list of files with the following statement:

The following untracked working tree files would be overwritten by checkout. Please move or remove them before you can switch branches. Aborting

If I do git checkout -f php-merge-2016 it lets me switch to that branch but again if I run git status -u all those red lines come up and said to be untracked.

css-merge-2016 and php-merge-2016 are meant for different purposes as their names suggest. And all the untracked files listed were created/worked on when I was working and committing to css-merge-2016 branch.

So if I use git add for those untracked files while on php-merge-2016 that may not hamper anything but if I do not add them can this cause any problem as far as git is concerned? On the other hand if I go ahead and git add those untracked files while on php-merge-2016 is this a good practice not to commit them. The problem is I will start working and commit to this branch. So if I add them won't git ask me to commit those files?

I am sorry if my question is not very clear. Please let me know if I should add more information.

I am worried of losing my works. How can I get rid of this situation keeping everything intact? Please help!

UPDATE:

These are the steps:

git checkout -b b4-selector-removal f990b78
to checkout into a new branch from specific revision (of css-merge-2016 branch)

git reset --hard

Output: HEAD is now at bf25410 Merge branch 'master' of https://github.com/abcd/site.main.drupal

git checkout master

Switched to branch 'master' Your branch is ahead of 'origin/master' by 4 commits.
(use "git push" to publish your local commits)
subrara@subrara-desktop:/var/www/devsite.com/dev.main.drupal$ git status On branch master
Your branch is ahead of 'origin/master' by 4 commits.
(use "git push" to publish your local commits)

Untracked files: (use "git add ..." to include in what will be committed)
sites/all/themes/base/sass/all/desktop/
sites/all/themes/base/sass/all/mobile/
sites/all/themes/base/sass/all/pages/
sites/all/themes/base/sass/all/print/
sites/all/themes/base/sass/all/sidebar/

But i don't want to push track / push these files to master yet so I did not take any action rather went for a fresh pull.

git pull

Already up-to-date.

Next two commands created and pushed the new branch from master: git checkout -b php-merge-2016 git push -u origin php-merge-2016

Before checking out to the new branch I first did a git reset --hard

HEAD is now at bf25410 Merge branch 'master' of https://github.com/abcd/site.main.drupal

git checkout php-merge-2016

Switched to branch 'php-merge-2016'

While on this branch I ran git status which gave me the following (the folders only):

Untracked files:
(use "git add ..." to include in what will be committed)
sites/all/themes/base/sass/all/desktop/
sites/all/themes/base/sass/all/mobile/
sites/all/themes/base/sass/all/pages/
sites/all/themes/base/sass/all/print/
sites/all/themes/base/sass/all/sidebar/
nothing added to commit but untracked files present (use "git add" to track)

and then git status -u gives me individual files under each of the above folder:

On branch php-merge-2016 Untracked files:
(use "git add ..." to include in what will be committed)
sites/all/themes/base/sass/all/desktop/_article_block.scss
sites/all/themes/base/sass/all/desktop/_columns_sidebar_left_right.scss
sites/all/themes/base/sass/all/mobile/_block_winner_email_signup.scss
sites/all/themes/base/sass/all/mobile/_header.scss
sites/all/themes/base/sass/all/pages/_blog.scss
sites/all/themes/base/sass/all/pages/_branded_name_display.scss
sites/all/themes/base/sass/all/pages/_catalog.scss
sites/all/themes/base/sass/all/print/_general.scss sites/all/themes/base/sass/all/print/_print.scss sites/all/themes/base/sass/all/sidebar/_flyout.scss sites/all/themes/base/sass/all/sidebar/_get_local_info.scss sites/all/themes/base/sass/all/sidebar/_weather_widget.scss
nothing added to commit but untracked files present (use "git add" to track)

链接地址: http://www.djcxy.com/p/19458.html

上一篇: 从Git历史记录中删除敏感文件及其提交

下一篇: git checkout:未结束的工作树文件将被checkout覆盖