我有一个项目,我必须chmod在开发过程中将文件模式更改为777,但不应在主回购中更改.
Git选择chmod -R 777 .并将所有文件标记为已更改.有没有办法让Git忽略对文件进行的模式更改?
我想删除对我的工作副本的所有更改.
运行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) 刚刚将some.sh文件转换为可执行文件(chmod 755 ...),权限已更新,但未更新内容.有没有办法将文件提交到git中,以便在clone/checkout/pull上恢复/设置可执行位?
更新:如何跟踪新权限的提交github?
我有一个回购我添加了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) 我以前能够通过执行"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丢弃更改/恢复到之前的提交.我通常可以找出哪些适用于我的情况,但在这个过程中我对不同的方法感到很困惑.最近我试图撤消一些文件重命名,无论我多么努力地尝试git checkout旧版本的文件,我仍然无法恢复旧文件.
我正在寻找澄清使用哪种方法和原因.以下是我对一些方法的理解.我意识到答案可能非常具有上下文性,但我想尝试找出哪些上下文需要哪种方法.
1)git checkout -- .
2)git stash save --keep-index接下来git stash drop
3)git reset --hard
这是我目前对我的选择的理解.你对我的解释有什么改变吗?我也不确定何时使用git revert代替上述命令.
来源帖子:
一两个星期前,我拿了一些我用一个简单的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) 我目前正在使用github桌面.在提交之前,我尝试放弃对其中一个已编辑文件的更改.Github返回'无法放弃更改'此文件可能正由另一个应用程序使用.(我事先关闭了所有相关的申请).
有什么可能导致这种情况的线索?
我正在使用Git Extensions连接到GitHub.最近我遇到过有些文件在未分级的更改中被标记.我无法重置/删除文件.摆脱它们的唯一方法是签入文件.
git ×8
git-reset ×2
branch ×1
chmod ×1
git-checkout ×1
git-stash ×1
git-status ×1
git-svn ×1
github ×1
ignore ×1
line-endings ×1
revert ×1
rollback ×1
working-copy ×1