我想删除对我的工作副本的所有更改.
运行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) 这是我的脚本,试图将我的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) 我有一个状态的本地仓库禁止我提交,藏匿,结账到另一个分支,甚至放弃更改.所以我只是卡住了.
据我记忆,我会试着描述一下这些情况给我带来了什么.
请坐下
不久之前,在远处的另一台计算机......根据以下内容在项目中另一个开发标准化的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因为它的模板配置文件适用于每个本地环境.
基础"模板"可以改变.没什么好惊讶的.这就是我的计划:
wp-config.phpstash 我自己的配置发生变化pull origin masterstash apply 我的配置回来了在第3步出现问题git pull origin master仍然是上面的错误,好像存储无效.
git status说wp-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 …
一两个星期前,我拿了一些我用一个简单的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)
以及从索引中删除所有内容并将其添加回来。
我不在 Windows 上。此外,这应该与行尾有关,因为我是唯一的用户。没有理由出现奇怪的行尾。
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) 克隆此存储库后:
\n\nhttps://github.com/OpenFOAM/OpenFOAM-3.0.x
\n\n我立即提交了更改。\n我尝试使用更改文件的常见解决方案来textmode修复crlfauto它./git/config。我也尝试过该.gitattributes文件。但是,这不是行结尾问题。我对代码进行了实际更改。
这是我的过程和输出:
\n\ncruz@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) 我有使用 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 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 ×7
git-stash ×2
git-checkout ×1
git-rebase ×1
git-reset ×1
git-status ×1
github ×1
macos ×1
newline ×1
revert ×1
working-copy ×1