Questions tagged «git-reset»

将当前的Git存储库头设置为指定的提交,并可选地重置索引和工作树以匹配。

30
如何将Git存储库还原到先前的提交?
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 如何从当前状态恢复为特定提交时创建的快照? 如果我这样做git log,则得到以下输出: $ git log commit a867b4af366350be2e7c21b8de9cc6504678a61b` Author: Me <me@me.com> Date: Thu Nov 4 18:59:41 2010 -0400 blah blah blah... commit 25eee4caef46ae64aa08e8ab3f988bc917ee1ce4 Author: Me <me@me.com> Date: Thu Nov 4 05:13:39 2010 -0400 more blah blah blah... commit 0766c053c0ea2035e90f504928f8df3c9363b8bd Author: Me <me@me.com> Date: Thu Nov 4 00:55:06 2010 -0400 …

30
从Git中的分支删除提交
我想知道如何删除提交。 通过delete,我的意思是好像我没有进行该提交一样,并且将来进行推送时,所做的更改将不会推送到远程分支。 我读了git help,我认为我应该使用的命令是git reset --hard HEAD。它是否正确?
3230 git  git-rebase  git-reset 


12
为什么有两种在Git中取消暂存文件的方法?
有时git建议git rm --cached取消暂存文件,有时git reset HEAD file。我什么时候应该使用哪个? 编辑: D:\code\gt2>git init Initialized empty Git repository in D:/code/gt2/.git/ D:\code\gt2>touch a D:\code\gt2>git status # On branch master # # Initial commit # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # a nothing added to commit …
1166 git  git-reset  git-rm 



9
我可以删除git commit但可以保留更改
在我的一个开发分支中,我对代码库进行了一些更改。在我能够完成正在使用的功能之前,我必须将当前分支切换为master来演示一些功能。但是仅使用“ git checkout master”保留了我在开发分支中所做的更改,因此破坏了master中的某些功能。因此,我要做的是使用“临时提交”提交消息在开发分支上提交更改,然后为演示结帐母版。 既然我已经完成了演示,然后又可以在开发分支上工作了,我想删除我所做的“临时提交”,同时仍然保留所做的更改。那可能吗?
1054 git  undo  git-reset 


4
撤消已被推送到远程存储库的Git中的特定提交
撤消特定提交的最简单方法是: 不在头部或头部 已被推到远程。 因为如果不是最新提交, git reset HEAD 不起作用。而且由于它已经被推到了遥远的地方, git rebase -i 和 git rebase --onto 会在遥控器上造成一些问题。 更何况,我真的不想修改历史记录。如果有错误的代码,它就存在于历史中并且可以看到。我只想在工作副本中删除它,并且不介意反向合并提交。 换句话说,以下svn命令的Git等效项是什么: svn merge -r 303:295 http://svn.example.com/repos/calc/trunk 通过将这些修订中的所有更改反向合并为新提交,从而将所有更改从295删除为302。 svn merge -c -302 ^/trunk 当然可以通过添加另一个提交来撤消302提交,该提交将反向合并来自相应提交的更改。 我认为这在Git中应该是一个相当简单的操作,并且是一个相当普遍的用例。原子提交还有什么意义呢? 我们已经举办藏起来,并要保证的提交是完全原子,你不应该能够解开其中一个或多个原子提交的容易吗?

6
如何取消本地git commit
我的问题是我更改了一个文件,例如:README,添加了新行“ this for my test line ”并保存了文件,然后发出了以下命令 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: README # no changes added to …

6
“ git reset”和“ git checkout”有什么区别?
从某种意义上说,我git reset和我一直都git checkout一样,都将项目带回到特定的提交。但是,我觉得它们不可能完全相同,因为那将是多余的。两者之间的实际区别是什么?我有点困惑,因为svn只svn co需要还原提交。 添加 VonC和查尔斯解释之间的差异git reset和git checkout真的很好。我目前的理解是git reset将所有更改都还原为特定的提交,而git checkout或多或少准备分支。我发现以下两个图对于理解这一点非常有用: 加3 在http://think-like-a-git.net/sections/rebase-from-the-ground-up/using-git-cherry-pick-to-simulate-git-rebase.html中,结帐和重置可以模拟变基。 git checkout bar git reset --hard newbar git branch -d newbar

5
Git:无法撤消本地更改(错误:路径…未合并)
我有以下工作树状态 $ git status foo/bar.txt # On branch master # Unmerged paths: # (use "git reset HEAD <file>..." to unstage) # (use "git add/rm <file>..." as appropriate to mark resolution) # # deleted by us: foo/bar.txt # no changes added to commit (use "git add" and/or "git commit -a") 文件foo/bar.txt在那里,我想再次使其变为“不变状态”(类似于“ …


20
git reset --hard留下的未分级更改
之后git reset --hard,git status在Changes not staged for commit:部分中给我文件。 我也试过git reset .,git checkout -- .而且git checkout-index -f -a,也没有用。 那么,我该如何摆脱那些未进行的变更呢? 这似乎只命中Visual Studio项目文件。奇怪的。看到此粘贴:http : //pastebin.com/eFZwPn9Z。这些文件的特殊之处在于,我在.gitattributes中具有: *.sln eol=crlf *.vcproj eol=crlf *.vcxproj* eol=crlf 另外,autocrlf在我的global中设置为false .gitconfig。可能以某种方式相关吗?
274 git  git-reset 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.