git-reset相关内容

git 撤销所有未提交或未保存的更改

我正在尝试撤销自上次提交以来的所有更改.我在查看 这篇文章.我的回答是 head 现在在 18c3773...但是当我查看本地源时,所有文件都还在那里.我错过了什么? 解决方案 这将取消暂存您可能使用 git add 暂存的所有文件: git reset 这将还原所有本地未提交的更改(应在 repo root 中执行): git checkout . 您还可以仅将未提交的更改还 ..
发布时间:2021-12-27 22:38:08 其他开发

如何一次挤压/变基

我怎样才能以最小的努力,将我所有的提交(即使是合并和冲突解决)压缩到一个功能分支上的一个,然后在我开始开发的分支之上重新建立基础从?不想重做已经完成的冲突解决.尽量减少麻烦. 假设我们说的分支是 master 和 featureX. 解决方案 我所知道的最简单的方法是 git checkout featureXgit merge -m "Bring latest changes f ..
发布时间:2021-12-27 22:06:35 其他开发

撤消已推送到远程存储库的 Git 中的特定提交

撤消特定提交的最简单方法是: 不在头脑或 HEAD 已推送到远程. 因为如果不是最新的提交, git reset HEAD 不起作用.而且因为已经推送到远程了, git rebase -i 和 git rebase --onto 会导致遥控器出现问题. 更重要的是,我真的不想修改历史记录.如果有错误的代码,它就在历史中并且可以被看到.我只是希望它在工作副本中出现,我 ..
发布时间:2021-12-06 09:46:21 其他开发

“git reset"和“git reset"有什么区别?和“git checkout"?

我一直认为 git reset 和 git checkout 是一样的,因为两者都将项目带回特定的提交.但是,我觉得它们不能完全相同,因为那是多余的.两者之间的实际区别是什么?我有点困惑,因为 svn 只有 svn co 来恢复提交. 添加 VonC 和 Charles 很好地解释了 git reset 和 git checkout 之间的区别.我目前的理解是 git reset 将所 ..
发布时间:2021-12-06 09:24:38 其他开发

将现有的、未提交的工作移动到 Git 中的新分支

我开始了一些新功能的工作,在编码了一段时间后,我决定这个功能应该放在自己的分支上. 如何将现有的未提交更改移动到新分支并重置当前的更改? 我想重置当前分支,同时保留新功能的现有工作. 解决方案 Update 2020/Git 2.23 Git 2.23 添加了新的 switch 子命令尝试清除因 checkout(切换分支、恢复文件、分离HEAD等) 从此版本的 G ..
发布时间:2021-12-06 09:19:07 其他开发

如何撤消 git reset --hard HEAD~1?

是否可以撤消由以下命令引起的更改?如果是,怎么办? git reset --hard HEAD~1 解决方案 Pat Notz 是正确的.只要提交是在几天之内,您就可以取回提交.除非您明确告诉它删除较新的 blob,否则 git 只会在大约一个月后进行垃圾收集. $ git init在 .git/中初始化空的 Git 存储库$ echo "测试重置" >文件 1$ git 添加文件1$ g ..
发布时间:2021-12-06 08:43:41 其他开发

从 Git 的分支中删除提交

我想知道如何删除提交. 通过delete,我的意思是就好像我没有进行那个提交,并且当我将来进行推送时,我的更改不会推送到远程分支. 我阅读了 git help,我认为我应该使用的命令是 git reset --hard HEAD.这是正确的吗? 解决方案 注意: git reset --hard 将删除您对工作目录的更改.在运行此命令之前,请务必隐藏您想要保留的任何本地更改. ..
发布时间:2021-12-06 08:39:01 其他开发

如何将 HEAD 移回以前的位置?(分离头) &撤消提交

在 Git 中,我试图通过合并另一个分支然后通过以下方式将 HEAD 重置到前一个位置来执行 squash commit: git reset origin/master 但我需要走出这一步.如何将 HEAD 移回之前的位置? 我有提交的 SHA-1 片段 (23b6772),我需要将其移动到.我怎样才能回到这个提交? 解决方案 在回答之前,先来补充一下背景,解释一下这个HEAD ..
发布时间:2021-12-06 08:34:32 其他开发

在 rebase 出错后删除其他人在我的分支上的提交

我在这里陷入了一些 git-funk.我需要自己解决这个问题. 我加入了一个新团队并创建了一个功能分支: git checkout -b feature_branch 做了一些更改,然后将它们提交/推送到分支. git commit -am "更改"git push origin feature_branch 有人在我的 PR 上留下了评论,所以我进行了更改,然后在再次提交/ ..
发布时间:2021-07-05 18:52:10 其他开发

git重置后,无法删除的提交未删除

我有一个小型仓库,其中有几个提交: * a0fc4f8(HEAD-> testbranch)添加了file.txt* e6e6a8b(master)你好世界* f308f53使其回显* f705657添加了问好* 08a2de3(标签:初始)初始 也: $ git状态在分支测试分支上无需提交,工作目录干净 我无法理解以下行为.在这种状态下,我运行: $ git reset init ..
发布时间:2021-05-10 20:43:55 其他开发

仅还原推送提交的单个文件

下面是推送的提交历史记录. 提交更改的文件提交1 |(文件a,文件b,文件c)提交2 |(文件a,文件b,文件c)提交3 |(文件a,文件b,文件c)提交4 |(文件a,文件b,文件c)提交5 |(文件a,文件b,文件c) 我想还原对提交3 的文件b 所做的更改. 但是我希望在提交4和5中对该文件进行更改. 解决方案 在Git中,每次提交都保存一个快照-即每个文件的状态-而是而不是一 ..
发布时间:2021-05-10 20:37:37 其他开发

重置后--hard我所有未跟踪的文件都消失了

我没有提交文件就进行了git硬重置.触发重置后,我检查了所有未跟踪的文件都消失了.我希望它只会影响我们在提交过程中所做的更改,并且只会重置这些更改.但是我错了. 有什么办法可以恢复我所有未跟踪的文件?任何帮助将不胜感激. 谢谢 解决方案 如果您以前对未跟踪的文件进行了git add,则git reset --hard将删除它们. Git没有还原这些文件的过程,因为它们没有被追踪 ..
发布时间:2020-11-15 20:05:02 其他开发

Git-撤消提交(git reset –soft)什么都不做

我刚刚进行了一次提交,并且意识到我需要撤消提交而不删除任何更改....我该怎么做?我尝试了git reset --soft,但是什么也没有做,没有错误也没有做,当我输入该命令时,实际上什么也没发生.我在做什么错了? 解决方案 git reset --soft表示HEAD,但是您想返回到之前 HEAD的提交,因此: git reset --soft HEAD^ ..
发布时间:2020-11-15 07:03:16 其他开发

创建分支与执行软重置之间的区别?返回到旧的工作版本的最佳方法?

说我提交的历史是A-B-C,我只有这个分支. B完全正常工作.我开始在C语言中添加一些功能,但无法正常工作,因此我需要回到B语言,但是我也想保留用C语言编写的代码,因为我想对其进行检查并修复它.之后. 最好的方法是什么? 从B开始创建新分支的最佳方法是吗? 与进行软重置有什么区别?我知道软重置不会删除更改(正确吗?),但是我不清楚如何恢复这些更改(C中的代码),也不清楚软重置与创 ..
发布时间:2020-11-15 04:18:17 其他开发

git add + git reset硬删除工作副本文件-撤消?

我用git add添加了一个目录,并意识到其中包含错误的文件,所以我使用git reset-很难返回到最新的提交,但是我不知道git也会删除那些添加的文件在工作副本中. 有人知道我该怎么做吗? 解决方案 git add文件时,该文件将添加到对象数据库和索引中.运行git reset更新了索引和工作目录,但没有从对象数据库中删除那些文件.它们保留为无根(“悬挂")对象.您可以运行git ..
发布时间:2020-11-15 03:54:41 其他开发