如何从当前状态恢复为在某个提交时创建的快照?
如果我这样做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
And yet more blah blah...
commit 0d1d7fc32e5a947fbd92ee598033d85bfc445a50
Author: Me <me@me.com>
Date: Wed Nov 3 23:56:08 2010 -0400
Yep, more blah blah.
Run Code Online (Sandbox Code Playgroud)
如何从11月3日恢复提交,即提交0d1d7fc?
我想知道如何删除提交.
通过delete,我的意思是,如果我没有做那个承诺,当我将来做一推,我所做的更改不会推到远程分支.
我读了git help,我认为我应该使用的命令是git reset --hard HEAD.它是否正确?
我开始研究一个新功能,经过一段时间的编码,我决定这个功能应该在它自己的分支上.
如何将现有的未提交更改移动到新分支并重置当前更改?
我想重置当前分支,同时保留新功能的现有工作.
有时,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 but untracked files present (use "git add" to track)
D:\code\gt2>git add a
D:\code\gt2>git status
# On branch master
#
# Initial commit
#
# Changes to …Run Code Online (Sandbox Code Playgroud) 是否有一个git命令可以恢复工作树和索引中的所有未提交的更改,还可以删除新创建的文件和文件夹?
在我的一个开发分支中,我对我的代码库进行了一些更改.在我能够完成我正在处理的功能之前,我不得不将当前分支切换到master来演示一些功能.但只是使用"git checkout master"保留了我在开发分支中所做的更改,从而破坏了master中的一些功能.所以我所做的是使用提交消息"临时提交"在我的开发分支上提交更改,然后为演示提供checkout master.
现在我已完成演示并重新开始在我的开发分支上工作,我想删除我所做的"临时提交",同时仍然保留我所做的更改.那可能吗?
我知道Git会跟踪我对我的应用程序所做的更改,并且它会保留给他们,直到我提交更改,但这里是我挂断的地方:
当我想恢复到之前的提交时,我使用:
git reset --hard HEADRun Code Online (Sandbox Code Playgroud)
而Git回归:
HEAD is now at 820f417 micro
Run Code Online (Sandbox Code Playgroud)
然后,我如何将硬盘上的文件恢复为之前的提交?
我接下来的步骤是:
git add .
git commit -m "revert"
Run Code Online (Sandbox Code Playgroud)
但我的硬盘上没有任何文件发生变化......
我在做什么是对还是错?
我如何取消承诺我在git中的最后一次提交?
是吗
git reset --hard HEAD
Run Code Online (Sandbox Code Playgroud)
要么
git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)
?
我试图撤消自上次提交以来的所有更改.我试着git reset --hard和git reset --hard HEAD观察后,这个职位.我用头响应现在是18c3773 ...但是当我查看我的本地源时,所有文件仍然存在.我错过了什么?
git ×10
git-reset ×10
git-revert ×3
undo ×3
command-line ×1
git-branch ×1
git-checkout ×1
git-clean ×1
git-index ×1
git-rebase ×1
git-rm ×1
git-stash ×1
head ×1