git撤回本地的commit或者push到远程的代码

git撤回本地的commit或者push到远程的代码

1.撤回本地的commit

(1)如下图,首先新增一个java文件TestGitCommit,文件的颜色为绿色,表明已经add到了本地的暂存区。
在这里插入图片描述
(2)接下来将TestGitCommit文件使用git commit 命令将其从暂存区添加到本地仓库中去。
在这里插入图片描述
点击Commit按钮
在这里插入图片描述
再看一下文件的颜色,已经不在是绿色了。证明已经添加到本地仓库了。
在这里插入图片描述
(3)撤回刚刚的commit操作,选中需要撤回commit操作的项目文件目录,点击Show in Explorer
在这里插入图片描述
(4)空白处右击,点击 Git Bush Here
在这里插入图片描述
(5)使用 git log 命令来查看日志
在这里插入图片描述
(6)使用如下命令

git reset --soft 0d2e37c4b8c58d3802dbe8d24d91bf73312b6ce6

haha@nb-haha MINGW64 ~/IdeaProjects/multi-thread (master)
$ git reset --soft 0d2e37c4b8c58d3802dbe8d24d91bf73312b6ce6

haha@haha MINGW64 ~/IdeaProjects/multi-thread (master)
$

查看日志,发现此时已经撤回了commit操作,再看代码,对应的文件又变为了绿色。
在这里插入图片描述
2.撤回push到远程的代码

(1)commit操作与上述是一样的,只不过这次需要push到远程仓库上面去,如下图点击push
在这里插入图片描述
在这里插入图片描述
(2)push成功之后,接下来去撤回。
在这里插入图片描述
(3)使用如下命令

git reset --soft 0d2e37c4b8c58d3802dbe8d24d91bf73312b6ce6

haha@nb-haha MINGW64 ~/IdeaProjects/multi-thread (master)
$ git reset --soft 0d2e37c4b8c58d3802dbe8d24d91bf73312b6ce6

haha@haha MINGW64 ~/IdeaProjects/multi-thread (master)
$

查看日志,发现此时已经撤回了commit操作,再看代码,对应的文件又变为了绿色。
在这里插入图片描述
但是这个时候远程仓库上这个文件还是存在的
在这里插入图片描述
(4)这个时候需要将本地的代码强制push到远程,使用如下命令

$ git push origin master --force

执行上述命令之后,就撤回了刚刚push到远程的代码了
在这里插入图片描述

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 当我们对代码进行了commit但还没有push时,如果发现有错误或不必要的更改,可以使用git撤回commit来撤销之前的操作。具体步骤如下: 1.使用git log或git reflog查看commit的ID,找到需要撤回commit的ID。 2.使用git reset命令,将当前分支的HEAD指向需要撤回commit的上一个commit,即执行以下命令: ``` git reset <commit ID> ``` 3.执行以上命令后,代码撤回到了撤销commit的上一个commit状态。此时本地工作区的代码也被相应地还原到了之前的状态。 4.如果需要修改还原后的代码,可以进行相应的修改,然后再次提交(commit)和推送(push)这些修改。 需要注意的是,如果已经将本地代码推送到了远程仓库,并且其他开发者对这个仓库进行了修改,我们在本地执行撤回操作后,再次提交(push)时,可能会引起冲突。因此,在操作前需要确保操作的影响范围,并与其他开发者进行协作和沟通,以避免产生不必要的冲突和误解。 此外,如果之前的commit信息需要更新或修改,也可以使用git commit --amend命令来执行修改。 ### 回答2: 在使用 Git 进行版本控制的过程中,有时候我们可能会不小心提交了一些错误的代码,或者提交了一些不必要的代码。这时候,我们就需要使用 git 撤回 commit 的命令来撤回这些代码。 首先,我们需要使用 git log 命令来查看我们已经提交的所有代码的历史记录。然后,我们可以找到我们需要撤回的某次提交的 ID。 接着,我们可以使用 git reset 命令来撤回这次提交。如果我们只需要撤回这次提交,而不需要修改任何文件,那么我们可以使用 git reset --soft 命令来撤回这次提交。这个命令会将当前分支的指针指向这次提交的前一次提交,同时保留这次提交的修改,这样我们就可以重新提交代码了。 如果我们需要修改这次提交之前的代码,那么我们可以使用 git reset --mixed 命令来撤回这次提交。这个命令会将当前分支的指针指向这次提交的前一次提交,同时撤销这次提交的修改,让我们可以修改代码后重新提交。 最后,如果我们需要彻底删除这次提交及其修改,那么我们可以使用 git reset --hard 命令来撤回这次提交。这个命令会将当前分支的指针指向这次提交的前一次提交,并且彻底删除这次提交的修改,让我们可以重新提交代码。 总的来说,使用 git 撤回 commit 的命令是非常重要的。它可以帮助我们避免不必要的错误,保证代码的正确性和可靠性。 ### 回答3: 当你在使用Git版本控制系统时,你可能会遇到一些列不可预料的问题,例如你不小心提交了错误的代码或者忘记了添加某些文件,这些错误的commit会被保存在你的本地仓库中,如果你不做处理的话,它们会影响你的代码仓库的健康。 在撤回commit之前,你需要理解commit的概念。commitGit中的一个重要概念,它表示一次代码提交的快照,它包括了当前代码库的状态、修改的文件等等。commitGit的一个核心概念,可以帮助你追踪你的代码。 如果你需要撤回一个未pushcommit,你可以使用以下命令: 1. git log:查看你的提交历史记录,以获取你需要回滚的commit的哈希值。 2. git reset HEAD~1:回到上一个提交状态.这个命令会将你的代码回退到上一个提交状态,同时会撤销上一个提交。 3. git push -f:如果你想撤销你在远程存储库上的提交,你还需要使用git push -f命令将本地撤回的提交同步到远程仓库。 这里需要注意的是,你在执行这个命令的时候,你需要确保你的删除操作只针对自己的工作分支而不是其他用户的工作分支。撤销一个已经推送到远程仓库的提交通常不被推荐,因为它会干扰其他协作开发者的工作。 当你使用git reset命令撤销一个commit时,你需要小心,因为它会永久性地删除你的代码。你可以使用git revert命令来撤销一个commitgit revert会产生一个新的提交,这个提交的改动是撤销了上一个提交。 在实际使用过程中,您可以先使用git revert命令进行回滚,然后在将其推送到远程分支。这样做可以避免解决和其他人的代码冲突,同时保持代码历史的完整性。 总之,撤销commit的过程并不复杂,但是需要注意操作的细节。在实际应用中,我们需要根据不同的情况选择适合的操作方式,以保持代码的稳定性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值