我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。
我如何解除那些承诺?当地当地仓库?
我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。
我如何解除那些承诺?当地当地仓库?
当前回答
通过下列方式查看日志来查找上次承诺的散列代码 :
git log
然后
git reset <the previous co>
其他回答
如果您只是想要丢弃所有本地更改/ 承诺, 使您的本地分支看起来像您从... 开始的源分支...
git reset --hard origin/branch-name
在我的案子中,我无意中犯了一些我不想犯的案卷。所以我做了以下的,它奏效了:
git reset --soft HEAD^
git rm --cached [files you do not need]
git add [files you need]
git commit -c ORIG_HEAD
用 gitk 或 git 日志 -- stat 校验结果
reset --soft
或reset --hard
?@Kyralessa的回答:
如果您不确定该使用什么--soft
(我用这个公约来纪念它)s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
如果您选择了--hard
你会犯错,你会犯错输 输之前没有的更改。如果您选择--soft
犯错后,您也可以得出相同的结果。--hard
通过应用附加命令
git reset HEAD file.html
git checkout -- file.html
echo "some changes..." > file.html
git add file.html
git commit -m "wrong commit"
# I need to reset
git reset --hard HEAD~1 (cancel changes)
# OR
git reset --soft HEAD~1 # Back to staging
git reset HEAD file.html # back to working directory
git checkout -- file.html # cancel changes
感谢@Kyralessa。
添加/删除文件, 以便按照您想要的方式获取文件 :
git rm classdir
git add sourcedir
然后修正承诺:
git commit --amend
之前的错误承诺将会被编辑 以反映新的指数状态 换句话说,这就像你从未犯过错误一样
请注意,你只应该在还没有推的时候做这个。如果你已经推了,那么你只需要正常地做一个修正。
你总是可以做一个git checkout <SHA code>
前一版本的版本, 然后再次承诺使用新代码 。