在我的分支上,我在.gitignore中有一些文件
在不同的分支上,这些文件不是.
我想将不同的分支合并到我的,我不在乎这些文件是否不再被忽略.
不幸的是我明白了:
合并将覆盖以下未跟踪的工作树文件
如何修改我的pull命令来覆盖这些文件,而不必自己查找,移动或删除这些文件?
我有一个git存储库.它有ABCDE ...提交.现在我想结帐D作为名为Dbranch的新分支.所以我执行:git checkout D -b Dbranch.现在我想删除这个分支.首先,我需要切换到master分支,然后使用git branch -d Dbranch它来删除它.但是当我执行时git checkout master,它会给我错误.
error: The following untracked working tree files would be overwritten by checkout:
source/a/foo.c
...... (too many lines)
Please move or remove them before you can switch branches.
Aborting
Run Code Online (Sandbox Code Playgroud)
如何删除Dbranch?
当我这样做git status时说nothing to commit, working directory clean
然后我这样做git pull --rebase,它说:
First, rewinding head to replay your work on top of it...
error: The following untracked working tree files would be overwritten by checkout:
includes/resources/moduledata/12/_Fr4_02_Invention_IPA_SR_la-Fe?te.pdf
Please move or remove them before you can switch branches.
Aborting
could not detach HEAD
Run Code Online (Sandbox Code Playgroud)
做的时候类似的错误 git pull origin master
* branch master -> FETCH_HEAD
error: The following untracked working tree files would be overwritten by merge:
includes/resources/moduledata/12/_Fr4_02_Invention_IPA_SR_la-Fe?te.pdf
Please move or …Run Code Online (Sandbox Code Playgroud) 我只想编辑/修改较旧的Git提交的文本.
我运行了以下内容:
$ git rebase -i a41a407d6f53328d49267e6a8429b9492f023629
error: The following untracked working tree files would be overwritten by checkout:
admin/roles/allowassign.php
admin/roles/allowoverride.php
admin/roles/assign.html
admin/roles/assign.php
admin/roles/manage.html
admin/roles/manage.php
admin/roles/managetabs.php
admin/roles/override.html
admin/roles/override.php
Aborting
could not detach HEAD
Run Code Online (Sandbox Code Playgroud)
但是,git status不会列出任何未跟踪的文件:
$ git status
On branch dev
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
请注意,admin/roles是存储库的子模块:
$ git submodule
77c5addc1b210256da9171e3b286ffa5addd2478 admin/roles (heads/dev)
Run Code Online (Sandbox Code Playgroud)
列出被忽略的文件:
$ git status --ignored
On branch duf-moodle-dev
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
blocks/moodleblock.class.php.bak
filter/tex/mimetex.exe …Run Code Online (Sandbox Code Playgroud) 我的repo中有一个目录(称之为blah),其中包含一些我从另一个repo(repo-blah)手动复制的文件.有一天,我决定变聪明并将这个blah目录作为一个子模块,这样我就不必在他们改变时手动重新复制文件repo-blah,这样我就可以在我的仓库中对这些文件进行更改并且有一个gitish更新方式repo-blah.
我一直在使用master分支,所以我创建了另一个分支sub-blah-branch,在那里我从索引中删除了blah目录:
$ git rm -r blah
Run Code Online (Sandbox Code Playgroud)
然后为它创建一个子模块:
$ git submodule add uri/to/repo-blah blah
Run Code Online (Sandbox Code Playgroud)
我承诺一切,并确保回购清洁:
$ git status
# On branch sub-blah-branch
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
然后,虽然对所有这些子模块的东西感觉非常酷,但我尝试检查主分支.但我明白了:
$ git checkout master
error: The following untracked working tree files would be overwritten by checkout:
blah/[every file that I had manually copied from repo-blah]
Please move or remove them before you can switch branches.
Aborting
Run Code Online (Sandbox Code Playgroud)
Pro Git关于子模块的章节告诉我,当从已创建子模块的分支切换时,这些子模块的内容不会自动删除,而是在repo切换分支后变为未跟踪.在这种情况下,我不能切换到 …
我正在使用Angular JS开发一个Web应用程序.在提交之后,我试图在我推送最新更改之前,将其他Web开发人员的最新版本与我的合并.我收到此错误,不知道为什么会发生这种情况,因为我之前的拉/推没有问题.
error: The following untracked working tree files would be overwritten by merge:
.gitignore
Please move or remove them before you can merge.
Run Code Online (Sandbox Code Playgroud) 直到昨天,我的项目只有一个带有.gitignore文件的分支,类似于:
*.log
upload/*
!upload/global/empty.txt
Run Code Online (Sandbox Code Playgroud)
它工作正常,直到我添加了一个新的分支并将此.gitignore更改为不忽略上传文件.新的.gitignore文件只剩下一行:
*.log
Run Code Online (Sandbox Code Playgroud)
我没有问题就回到了master分支,但是现在每次我想去新分支时都收到这样的消息:
错误:未经跟踪的工作树文件'upload/file.txt'将被合并覆盖.
我需要签出这个分支来处理它,或者至少拯救我所做的提交.
注意:我发现了类似的问题,但没有回答我的问题.
当我使用git pull 时,我收到“错误:更新以下目录将丢失其中未跟踪的文件:”消息。
我有两个不同的存储库,我将其称为“good”和“abc”。我正在尝试按照此处描述的过程将它们合并到父存储库中,以保留原始历史记录。这涉及在git filter-branch的帮助下重写历史记录,然后将两个存储库拉入新初始化的父存储库。这是失败的步骤:
git pull abc/
remote: Counting objects: 237, done.
remote: Compressing objects: 100% (67/67), done.
remote: Total 237 (delta 129), reused 161 (delta 129)
Receiving objects: 100% (237/237), 54.99 KiB | 0 bytes/s, done.
Resolving deltas: 100% (129/129), done.
From abc
* branch HEAD -> FETCH_HEAD
error: Updating the following directories would lose untracked files in it:
abc/abc
Run Code Online (Sandbox Code Playgroud)
现在,如果我拉出“好”存储库,即使在重写历史记录后它也能正常工作。或者如果我在重写历史之前git pull abc,它也很顺利。这似乎是特定于“abc”回购与过滤器分支程序相结合的。所以问题是,这个存储库可能有什么问题导致这个错误?我该如何解决它?
完整的命令和输出序列如下所示:
:~$ mkdir gitexp
:~$ …Run Code Online (Sandbox Code Playgroud) git ×9
merge ×2
branch ×1
commit ×1
git-branch ×1
git-checkout ×1
git-fetch ×1
git-merge ×1
git-pull ×1
git-status ×1
github ×1
pull ×1
rebase ×1