1:git拉取远端内容强制覆盖本地文件
(1): git fetch --all 将远程主机的最新内容拉到本地
(2):git reset --hard orgin/master
(3):git pull 将远程主机的最新内容拉下来后直接合并 git pull = git fetch +git merge
2:git撤销和回滚操作(get reset 和 get revert)
首先理解几个概念:
(1)工作区:即自己当前分支所修改的代码,还未进行git add * 和 git commit *
(2)暂存区:已经git add * 进去,还未进行git commit * 操作。
(3)本地分支:已经进行git commit操作的
代码回滚:
在编写代码上传到远程仓库的时候,免不了有时候出现问题,需要回滚操作,这里记录不同阶段的回滚。
(1):在工作区的代码: git checkout -- a.txt 丢弃a.txt文件
git checkout -- . 丢弃工作区中的所有文件
(2):在暂存区的代码:git reset HEAD .
git reset HEAD a.txt
(3):本地分支,还未push到远程:git log 查看需要回退的commit_id
git reset --hard <commit_id>
(4):git push 把代码提交到远程:
<1> git log 查看需要回退的commit_id
git reset --hard <commit_id>
git push origin HEAD --force 强制提交一次
<2> 通过git revert是用新的commit_id回滚之前的commit_id
git log
git revert <commit_id> 撤销之前的版本,撤销也是一次提交并保存
<3> reset 和revert 的区别
--git reset是回到某次提交,该次提交及之前提交都会被保存,之后的提交都会删除
--git resert是用一次新的commit_id回滚之前的commit_id,本次commit和之前的commit都会被提交