相关疑难解决方法(0)

如何让Git忽略文件模式(chmod)的变化?

我有一个项目,我必须chmod在开发过程中将文件模式更改为777,但不应在主回购中更改.

Git选择chmod -R 777 .并将所有文件标记为已更改.有没有办法让Git忽略对文件进行的模式更改?

git ignore chmod

2188
推荐指数
10
解决办法
86万
查看次数

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版本控制仅更新和提交文件的权限

刚刚将some.sh文件转换为可执行文件(chmod 755 ...),权限已更新,但未更新内容.有没有办法将文件提交到git中,以便在clone/checkout/pull上恢复/设置可执行位?

更新:如何跟踪新权限的提交github

git

171
推荐指数
3
解决办法
14万
查看次数

git line endings - 无法存储,重置,现在无法通过虚假行结尾提交

我有一个回购我添加了gitattributes它并正在努力它.我通过Dropbox将它同步到另一台机器.当我把它打开到另一台机器时,一堆文件突然出现在未分区的区域作为总差异(所有文件都是一个巨大的差异,这意味着行结束差异) - 我的crlf结局基本上是.* text=auto我在Windows上工作.我试图隐藏更改,重置分支等.最后我决定提交文件然后做了一些其他提交我想在行结束提交之前重新排序(和压缩).当我尝试变基时,我得到一个:

error: Your local changes to the following files would be overwritten by merge
        # those same files
Please, commit your changes or stash them before you can merge.
Aborting
Could not apply 89b25b81fff1a1e7893319e123aaaca9c4162a95... <commit message>
Run Code Online (Sandbox Code Playgroud)

当然藏匿不起作用

这是一个错误吗?

有关:

编辑与机器无关 - 在同一台机器上,一些(......)操作只是使这些文件(它们在.gitattributes文本中)出现在"已更改"部分.似乎存在的唯一解决方法是:

git rm --cached -r .
git reset --hard
Run Code Online (Sandbox Code Playgroud)

小心使用

编辑:hack上面转移到别名状态:

[alias]
     crlf = !git rm -r . …
Run Code Online (Sandbox Code Playgroud)

git line-endings

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

为什么不"git reset HEAD"撤消我未提交的,未分级的更改?

我以前能够通过执行"Discard"功能来撤消SourceTree的更改,该功能在引擎盖下生成此命令:

git -c diff.mnemonicprefix=false -c core.quotepath=false reset -q HEAD -- myproj.csproj 
git -c diff.mnemonicprefix=false -c core.quotepath=false checkout HEAD -- myproj.csproj
Run Code Online (Sandbox Code Playgroud)

突然间这不起作用.我做丢弃,没有错误发生,重新审视视图,但文件仍然"修改".然后我尝试在命令行中使用以下相同的结果:

c:\myproject> git reset HEAD

Unstaged changes after reset:
M       myproj.csproj
Run Code Online (Sandbox Code Playgroud)

为什么它仍然被列为未分阶段的变化?

我已经验证该文件确实可写(没有进程持有锁)

更新

git checkout 也不起作用:

C:\myproject>git checkout myproj.csproj

C:\myproject>git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   myproj.csproj
# …
Run Code Online (Sandbox Code Playgroud)

git

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

放弃Git变化的正确方法

我已经看到许多不同的方法可以使用Git丢弃更改/恢复到之前的提交.我通常可以找出哪些适用于我的情况,但在这个过程中我对不同的方法感到很困惑.最近我试图撤消一些文件重命名,无论我多么努力地尝试git checkout旧版本的文件,我仍然无法恢复旧文件.

我正在寻找澄清使用哪种方法和原因.以下是我对一些方法的理解.我意识到答案可能非常具有上下文性,但我想尝试找出哪些上下文需要哪种方法.


1)git checkout -- .

  • 用于检出最新版本的文件,将覆盖旧文件,但不会影响已删除,重命名或新文件.

2)git stash save --keep-index接下来git stash drop

  • 存储未提交的文件,然后完全删除它们.如果您已提交要保留的更改以及要丢弃的未提交/未暂存的更改,那么这是一种很好的方法.

3)git reset --hard

  • 擦除上次提交后的所有内容,包括文件重命名,删除和添加.

这是我目前对我的选择的理解.你对我的解释有什么改变吗?我也不确定何时使用git revert代替上述命令.

来源帖子:

git branch rollback git-reset

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

无法丢弃 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
查看次数

无法放弃更改

我目前正在使用github桌面.在提交之前,我尝试放弃对其中一个已编辑文件的更改.Github返回'无法放弃更改'此文件可能正由另一个应用程序使用.(我事先关闭了所有相关的申请).

有什么可能导致这种情况的线索?

github github-desktop

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

无法重置Git扩展中的更改

我正在使用Git Extensions连接到GitHub.最近我遇到过有些文件在未分级的更改中被标记.我无法重置/删除文件.摆脱它们的唯一方法是签入文件.

git git-svn git-extensions

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