Git代码提交和撤回 |
您所在的位置:网站首页 › git怎么取消上次的推送 › Git代码提交和撤回 |
代码提交到暂存区
# 查看工作区下各文件状态
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] # 如:d1d6efa76f95071ed8fe18042e9380e2ac75d989git 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 |