git学习心得之2--糟糕操作后的后悔药
2017-07-19 20:01
148 查看
在git操作时,由于各种原因,难免会有一些想后悔的时候,这时就必须要根据情况组合使用一些git的命令。
目前我掌握的命令不多,但是足够应对一些简单的情况,较常使用的命令如下:
git log 查看当前分支的提交记录,根据commit的相应编号来进行之后的操作,比如版本回退等。
git log origin/master 查看远程仓库origin的master分支的提交记录,不过在使用中发现,这个命令并不是时刻与远程保持同步的,获取的结果似乎是上一次fetch下来时远程分支的状态。
git reset --hard comit编号 这个命令可以实现版本回退功能,--hard参数的作用是将工作区中的源代码也恢复到目标时刻提交后的状态,但是会清空该次commit之前的log信息。
git reflog 这个命令很重要,即使git log信息丢失了,每次操作的信息依然还会在reflog中看到,这样我们就可以利用git reset --hard 操作编号 命令再次恢复到指定的状态,自然也可以回到上次reset之前!
但是如果我们已经把糟糕的代码提交到了远程分支怎么办?远程分支是无法直接git reset的,虽然你依然可以把远程分支fetch下来后回退,但是还有更好的办法:
git revert commit编号 这条命令可以自动生成一次新的commit,这次commit会达到撤销指定commit操作所提交的修改的效果,尤其适合刚刚push错误代码后使用,直接git revert HEAD即可,然后push到远程分支,即可“中和”掉上一次的错误提交,但是如果你rervert的commit是在更早的时候,那就有可能和现有的代码发生冲突,这种情况就只能解决冲突后再次提交了。
目前我掌握的命令不多,但是足够应对一些简单的情况,较常使用的命令如下:
git log 查看当前分支的提交记录,根据commit的相应编号来进行之后的操作,比如版本回退等。
git log origin/master 查看远程仓库origin的master分支的提交记录,不过在使用中发现,这个命令并不是时刻与远程保持同步的,获取的结果似乎是上一次fetch下来时远程分支的状态。
git reset --hard comit编号 这个命令可以实现版本回退功能,--hard参数的作用是将工作区中的源代码也恢复到目标时刻提交后的状态,但是会清空该次commit之前的log信息。
git reflog 这个命令很重要,即使git log信息丢失了,每次操作的信息依然还会在reflog中看到,这样我们就可以利用git reset --hard 操作编号 命令再次恢复到指定的状态,自然也可以回到上次reset之前!
但是如果我们已经把糟糕的代码提交到了远程分支怎么办?远程分支是无法直接git reset的,虽然你依然可以把远程分支fetch下来后回退,但是还有更好的办法:
git revert commit编号 这条命令可以自动生成一次新的commit,这次commit会达到撤销指定commit操作所提交的修改的效果,尤其适合刚刚push错误代码后使用,直接git revert HEAD即可,然后push到远程分支,即可“中和”掉上一次的错误提交,但是如果你rervert的commit是在更早的时候,那就有可能和现有的代码发生冲突,这种情况就只能解决冲突后再次提交了。
相关文章推荐
- git学习-git status, git diff, git rm, git mv等文件操作命令解释。
- redis学习心得之三-【java操作redis】
- git学习(2)---分支操作
- 分区表学习三:分区表实际操作心得
- git学习心得总结
- Git学习——分支操作
- git学习——<三>git操作
- Git学习总结(11)——Git撤销操作详解
- Git学习(五)----Git工作区&暂存区&版本库(“三巨头”)、删除文件、撤销操作
- Git学习系列(二)创建本地仓库及文件操作
- Git学习系列(二)创建本地仓库及文件操作
- jQuery学习心得----第三集:jQuery中的DOM操作总结
- Ruby on Rails学习心得(三)数据库基本操作
- 2.23学习心得 Matlab graythresh函数 形态学开闭操作,腐蚀膨胀的作用
- 码云以及git操作学习总结
- skyline TEP学习心得(1):工程树ProjectTree操作两例
- git学习——撤消操作
- GitHub入门与实践学习笔记--github学习基础之关于git的基本操作
- git学习 #2:git基本操作
- Github链接及git学习心得总结