我已经对作为一组文件的一部分提交了几次的文件进行了一些更改,但现在想要将其上的更改重置/还原到以前的版本.
我已经做了git log
一个git diff
找到我需要的修订版,但是根本不知道如何将文件恢复到以前的状态.
有人能告诉我在Git中HEAD,工作树和索引之间的区别吗?
据我所知,它们都是不同分支的名称.我的假设是否正确?
我找到了这个
单个git存储库可以跟踪任意数量的分支,但是您的工作树只与其中一个分支相关联("当前"或"已检出"分支),HEAD指向该分支.
这是否意味着HEAD和工作树总是一样的?
$ git reset -- <file_path>
可以通过路径重置.
但是,$ git reset (--hard|--soft) <file_path>
会报告如下错误:
Cannot do hard|soft reset with paths.
Run Code Online (Sandbox Code Playgroud) 当我想取消暂存文件时,我所有的 Git 教程都显示如下内容:
$ git add *
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: README.md -> README
modified: CONTRIBUTING.md
Run Code Online (Sandbox Code Playgroud)
此提示告诉我们git reset
用于取消暂存文件。
但是,在我的终端中,我看到:
git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
renamed: cat.js -> catcat.js
renamed: tolendo.gogo -> tolendo.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
readme (copy).md
tolendo (copy).txt
zing (copy).html
Run Code Online (Sandbox Code Playgroud)
我的终端告诉我使用,git …
http://norbauer.com/notebooks/code/notes/git-revert-reset-a-single-file
我找到了一个帖子.
但还是不知道之间有什么区别
git checkout <filename>
git checkout -- <filename>
在什么情况下我应该分别使用第一个和第二个?
我克隆了一个存在不一致行结尾的存储库.我添加了一个.gitattributes
为我想要规范化的文件设置text属性.现在,当我提交更改时,我收到消息:
warning: CRLF will be replaced by LF in FILE.
The file will have its original line endings in your working directory.
Run Code Online (Sandbox Code Playgroud)
如何让git为我标准化我的文件的工作副本?我希望git能够规范化整个工作树.
我知道这不是一个严格的编程问题,但它与git有关.我不小心在git中创建了一个分支--track
(我在合并远程分支时得到了错误的选项顺序)
常规命令不起作用:
git branch -D "--track"
Run Code Online (Sandbox Code Playgroud)
我试图用引号和反斜线逃脱,但是都不起作用.
有任何想法吗?
让我们从一种情况开始。
git stash
git commit -m "Commit message"
git stash apply
由于提交,我在2个文件中收到合并冲突。我不再需要这2个文件中的更改,因此我尝试还原这些更改。
我做了 git checkout -- background.js
它因错误而失败
错误:路径“ src / background / background.js”未合并
但是后来我读了这篇SO帖子并尝试
git checkout HEAD -- background.js
Run Code Online (Sandbox Code Playgroud)
它可以成功工作。这两个文件都发生在我身上。我想了解两者之间的区别
git checkout -- file
和 git checkout HEAD -- file
git ×9
git-checkout ×2
git-reset ×2
git-stash ×2
git-branch ×1
line-endings ×1
restore ×1
unstage ×1