有时候用的少了会忘记一些指令,下面做一些挺常用但自己忘记了的指令的记录
删除commit记录
如果不小心把不该提交的代码或者敏感的数据(如密码)提交到远程git服务器上,可以使用git reset回滚到上一个commit,并且commit history不留下任何痕迹
1.通过找到想要退回到的 commit_id
$ git log
2.本地回到某一个指定的 commit_id
$ git reset --hard <commit_id>
3.推送到服务器,一定要加 --force 参数
$ git push origin HEAD:master --force
如果不加–force参数提交不上去,服务器rejected.
最后你会发现,代码服务器上也不会留下痕迹,完美。
如果发现想回到原来版本,就用 git reflog
查看命令历史,以便确定要回到未来的哪个版本。
git tag 用法
我们常常在代码封板时,使用git 创建一个tag ,这样一个不可修改的历史代码版本就像被我们封存起来一样,不论是运维发布拉取,或者以后的代码版本管理,都是十分方便的
1.创建tag
git tag -a v2.0 -m "release 2.0"
上面的命令我们成功创建了本地一个版本 v2.0 ,并且添加了附注信息 “release v2.0”,提交到了本地 git 仓库
2.同步到远程代码库
git push origin --tags
git pull
git pull命令的作用是:
取回远程主机某个分支的更新,再与本地的指定分支合并。
一句话总结git pull和git fetch的区别:git pull = git fetch + git merge
相比起来git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并。
1.更新远程更新到本地:
git pull origin master