Git代码提交和撤回

您所在的位置:网站首页 git怎么取消上次的推送 Git代码提交和撤回

Git代码提交和撤回

2024-06-17 08:58| 来源: 网络整理| 查看: 265

代码提交到暂存区 # 查看工作区下各文件状态 git staus # 提交所有文件到暂存区 git add . # 提交单个文件到暂存区 git add [文件路径] 撤回暂存区的提交 git restore --staged [文件路径] 代码提交到版本库 git commit -m "[提交说明]" 撤回版本库的提交 git reset

当我们发现刚commit到版本库的代码有问题,想丢弃最近的一次代码提交时,可以使用git reset版本回退。

# 先git log查下提交历史 $ git log # 找到错误提交版本的上一个版本 $ git reset [commit id] # 如:d1d6efa76f95071ed8fe18042e9380e2ac75d989

git reset执行后只会改变版本库的版本,所以工作区代码可以通过git chekout或git restore来和版本库同步。此时再git log会发现看不到被撤回的版本提交记录了,但是并不是表示已经被删除,我们通过编辑器(如pycharm)依然可以看到被回退的版本(这代表git reset撤回的版本依然可以找回)。如果再提交一次代码,此时新版本和被撤回的版本就像二叉树一样,我们只能选择其一(当然也可以通过git checkout -b创建新分支,将一边代码保存到新分支上,然后通过git merge分支合并,解决冲突的方式实现两者并存,但这样比较麻烦)。值得注意的是,虽然在新版本时编辑器依然记录被撤回的版本,但是当我们通过IDE找到撤回的版本号,再次git reset到之前被撤回的版本时,IDE并不会记录第一次撤回后新提交的版本,当然git log更找不到。如果你的git命令窗口还没关,还可以往上翻翻之前git log的记录找一找,否则就很麻烦,所以git reset是一条不太优雅的命令。

git revert

如果想撤回的代码不是最后一次提交的版本,而执行撤回的同时需要保留后续提交的版本,可以选择使用git revert。

# 撤回上次提交的代码 git revert HEAD # 撤回上上次提交的代码 git revert HEAD"^" # 撤回之前某个版本 git log # 查查版本 git revert [commit id]

git revert会把当前撤回代码当作一次代码更新提交到版本库,所以git log可以查看到被撤回的版本。工作区代码也会同时更改,如果有代码冲突需要解决冲突。

代码提交到远程库 git push [远程库名] [远程分支名] 撤回远程库的代码提交

先执行【撤回版本库的提交】,然后再push到远程库

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3