相关疑难解决方法(0)

git status显示修改,git checkout - <file>不会删除它们

我想删除对我的工作副本的所有更改.
运行git status显示修改的文件.
我没做什么似乎删除了这些修改.
例如:

rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
$ git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   Rhino.Etl.Core/Enumerables/CachingEnumerable.cs
#       modified:   Rhino.Etl.Core/Pipelines/SingleThreadedPipelineExecuter.cs
#       modified:   Rhino.Etl.Tests/Rhino.Etl.Tests.csproj
#       modified:   Rhino.Etl.Tests/SingleThreadedPipelineExecuterTest.cs
#
no changes added to commit (use "git add" and/or "git commit -a")

rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
$ git checkout -- Rhino.Etl.Core/Enumerables/CachingEnumerable.cs

rbellamy@PROMETHEUS …
Run Code Online (Sandbox Code Playgroud)

git revert working-copy git-status

213
推荐指数
9
解决办法
10万
查看次数

Git rebase失败,'您对以下文件的本地更改将被合并覆盖'.没有本地变化?

这是我的脚本,试图将我的bugfix分支合并到我的主分支上,准备将其推向上游.自bugfix分支创建以来,已经有一些上游更改被拉入master,现在它拒绝rebase.

它抛出错误的文件在打开时不会被分散.没有添加,删除或重命名的文件.没有任何东西被忽略,没有任何东西没有被追踪或上演或未分期.我完全不知道为什么rebase失败了.

我在OS X 10.6.6和git 1.7.4上

.-(/Volumes/joshua/www/txfunds)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(joshua@Kusanagi)-
`--> git rebase bug586-test master-test
First, rewinding head to replay your work on top of it...
Applying: - comiitting code related to api permissions
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
error: Your local changes to the following files would be overwritten by merge:
    inc/data.inc
    templates/apipermissions_tpl.inc
    templates/currencies_tpl.inc
Please, commit your changes or stash them before you can merge.
Aborting
Failed to merge in the …
Run Code Online (Sandbox Code Playgroud)

git git-rebase

97
推荐指数
2
解决办法
2万
查看次数

在crlf规范化后使用存储来阻止回购?

我有一个状态的本地仓库禁止我提交,藏匿,结账到另一个分支,甚至放弃更改.所以我只是卡住了.

据我记忆,我会试着描述一下这些情况给我带来了什么.

请坐下

不久之前,在远处的另一台计算机......根据以下内容在项目中另一个开发标准化的crlf:https://help.github.com/articles/dealing-with-line-endings

在那一刻(你知道,光速......)我在本地做了一些改变,提交和拉动.

当我拉Git说:

error: Your local changes to the following files would be overwritten by merge:
    wp-config.php
Run Code Online (Sandbox Code Playgroud)

wp-config.php之前已从索引中删除,git update-index --assume-unchanged wp-config.php因为它的模板配置文件适用于每个本地环境.

基础"模板"可以改变.没什么好惊讶的.这就是我的计划:

  1. 重新索引 wp-config.php
  2. stash 我自己的配置发生变化
  3. pull origin master
  4. stash apply 我的配置回来了

在第3步出现问题git pull origin master仍然是上面的错误,好像存储无效.

git statuswp-config.php没有进行改变的提交.在藏匿之后,这让我感到惊讶.

自从我把我的变化藏起来后,我跑了git checkout -- wp-config.php......但没有任何效果!文件仍未进行提交.

由于我变得疯了,我创建了一个新的分支my-config,添加并提交wp-config.php到它,然后切换回master,删除wp-config.php(使用git rm),并合并origin/master ...成功!

所以现在主人是最新的和干净的,我计划在没有Git帮助的情况下恢复我自己的配置(手动编辑文件).

因为我想知道发生了什么,我切换到my-config分支,并尝试了一个非常简单的操作:

git stash
git stash apply
Run Code Online (Sandbox Code Playgroud)

你猜怎么着?stash apply …

git newline git-stash

10
推荐指数
2
解决办法
3710
查看次数

无法丢弃 git 中的更改

一两个星期前,我拿了一些我用一个简单的find |sed|tar|xz|gpgbash 脚本存档的文件,把它们全部解压,然后把它们的内容放在一个 git repo 中,提交,把下一个存档内容放在 repo 中,提交(冲洗并重复)为了有一个更好的系统。

所有文件都是在我的两台计算机中的一台上编辑的,都使用 Arch Linux,在 TeXstudio 或 Vim 中。

我试图签出一个旧版本,但它翻了出来——它不会让我因为更改非常出色。我尝试了所有我知道的方法,然后去谷歌寻找我不知道的东西。

关于这个主题还有许多其他问题。不幸的是,他们的回答对我没有帮助。为了完成,我将列出问题。

$ git status
在分支 master 上
没有为提交而暂存的更改:(
使用“git add ...”更新将提交的内容)
(使用“git checkout -- ...”放弃工作目录中的更改)

修改:Arcs/arc1.tex
修改:Arcs/arc2.tex
修改:Arcs/frontmatter.tex

未向提交添加任何更改(使用“git add”和/或“git commit -a”)

另外,所以人们不需要看下面,我已经做了显而易见的事情。

git reset --hard
git -a commit
git stash
git pull
Run Code Online (Sandbox Code Playgroud)

以及从索引中删除所有内容并将其添加回来。

不能丢弃 GIT 中的文件更改

我不在 Windows 上。此外,这应该与行尾有关,因为我是唯一的用户。没有理由出现奇怪的行尾。

Git 拒绝重置/丢弃文件

git reset --hard HEAD (among other possibilities)
Run Code Online (Sandbox Code Playgroud)
git stash
git stash drop
Run Code Online (Sandbox Code Playgroud)
git config core.autocrlf input
git rm --cached -r …
Run Code Online (Sandbox Code Playgroud)

git git-stash git-checkout git-reset

7
推荐指数
2
解决办法
4731
查看次数

Git 存储库在克隆后立即发生更改

克隆此存储库后:

\n\n

https://github.com/OpenFOAM/OpenFOAM-3.0.x

\n\n

我立即提交了更改。\n我尝试使用更改文件的常见解决方案来textmode修复crlfauto./git/config。我也尝试过该.gitattributes文件。但是,这不是行结尾问题。我对代码进行了实际更改。

\n\n

这是我的过程和输出:

\n\n
cruz@MacBook-Air-de-Luis \xee\x82\xb0 ~/dev \xee\x82\xb0 git clone https://github.com/luiscruz/OpenFOAM-3.0.x.git\nCloning into \'OpenFOAM-3.0.x\'...\nremote: Counting objects: 49097, done.\nremote: Total 49097 (delta 0), reused 0 (delta 0), pack-reused 49097\nReceiving objects: 100% (49097/49097), 59.70 MiB | 2.29 MiB/s, done.\nResolving deltas: 100% (30768/30768), done.\nChecking connectivity... done.\nChecking out files: 100% (13863/13863), done.\n cruz@MacBook-Air-de-Luis \xee\x82\xb0 ~/dev \xee\x82\xb0 cd OpenFOAM-3.0.x\n cruz@MacBook-Air-de-Luis \xee\x82\xb0 ~/dev/OpenFOAM-3.0.x \xee\x82\xb0 \xee\x82\xa0 master \xe2\x97\x8f \xee\x82\xb0 git status\nOn branch master\nYour branch is up-to-date …
Run Code Online (Sandbox Code Playgroud)

git macos version-control github

5
推荐指数
1
解决办法
1734
查看次数

如何重新检出 Git 中的所有文件以从 CRLF 转换为 LF?

我有使用 CRLF 检出的文件。我改变了git config --global core.autocrlf false。Git 没有看到任何修改。当我编辑一个文件时,Git 认为整个文件都发生了变化。如何使用 LF 而不是 CRLF 重新签出并覆盖所有文件,以便差异按预期工作?我看到了这个,但答案提到了一个无效的命令。我看到了这个,但它说“Git 想要提交您尚未修改的文件”,这是不正确的。我试过

git pull --force
git checkout --force
Run Code Online (Sandbox Code Playgroud)

但是这些文件仍然有 CRLF。那么如何将所有文件从 CRLF 转换为 LF?我可以在 Notepad++ 中编辑每个文件,并使用 Edit > EOL Conversions > Unix (LF),这是我在逐个文件的基础上所做的,但它非常乏味。可能还有一个awkorsed脚本,但我不熟悉它们,我更愿意只修改签入 Git 的内容,而不是搞砸.git/.


也试过

git reset --hard origin/master
Run Code Online (Sandbox Code Playgroud)

而且文件还在CRLF 中!


这不是建议的副本的副本,因为我不想提交任何内容。只想从 Git 获取一个新副本。此外,Git 没有看到任何文件被修改。

git

5
推荐指数
1
解决办法
1472
查看次数

Git说有变化,但是没有变化

首先,我无法放弃对文件的更改,我会使用git reset --hard,没有错误,但是更改仍然存在。我尝试了其他StackOverflow文章中的一些建议。

git rm .gitattributes
git add -A
git reset --hard
Run Code Online (Sandbox Code Playgroud)
git rm --cached [fileName]
Run Code Online (Sandbox Code Playgroud)

我什至销毁了我的存储库,并在克隆新的存储库后立即拥有相同的修改文件。如果我手动更改文件(使用编辑器删除GIT的不同之处),则现在可以在修改后的列表中看到它两次(例如,当我运行时,git status我看到同一文件的相同路径在未暂存的情况下列出了两次)文件)。最终找到了一个实际重置文件并将其从修改后的列表中删除的文件。

git ls-files -m | xargs -i git update-index --assume-unchanged "{}"
Run Code Online (Sandbox Code Playgroud)

现在,我尝试切换分支,并说更改将被覆盖,我必须提交或存储更改,但是,当我运行git stash它时,它告诉我没有更改。我已经尝试了一些建议,包括尝试更新行尾,但没有什么可以让我结帐分支。分支中确实有一个“ /”,这可能引起问题吗?

C:\ git \ azureWebApps \ CRM-WebAPI(qa-> origin)?git status
在分支qa上
您的分支的最新信息是'origin / qa'。

没什么可做的,工作中的树很干净

C:\ git \ azureWebApps \ CRM-WebAPI(qa-> origin)?git diff

C:\ git \ azureWebApps \ CRM-WebAPI(qa-> origin)?git checkout功能/ PEN-146-CreateUpdatePerson
错误:您对以下文件的本地更改将被> checkout覆盖:CRM-RestAPI / web.config
请提交您的更改或将其保存在切换分支之前。
堕胎

C:\ git \ azureWebApps \ …

git

1
推荐指数
1
解决办法
903
查看次数