网上目前有很多git文章,但是大部分都是跟官网上的无异,只有少部分对于实际操作有帮助的文章,,下面也是本人在使用git中对git进行操作的一个记录学习,也会时常更新
现在很多都用工具对git进行操作,也非常方便,非常好用,比较nice,但是有些比较坑的工具不会提供完整的git操作,所以就需要我们熟悉每个命令来操作,下面我们就一步一步说一下一些常用到的命令,有些可能我目前不太经常用的,后面会补充,本文旨在对自己进行一个记录学习
1.常用命令
- 查看本地分支 git branch
- 查看远程分支 git branch -a
- 切换分支 git checkout 分支名字
- 创建本地分支 git branch 分支名字
- 拉取当前分支代码 git pull
2.常用的提交代码流程
- git stash (暂存本地修改)
- git pull --rebase (拉取线上分支代码)
- git stash pop (恢复暂存的本地代码, 这个时候如果有冲突的话需要在本地解决冲突)
- git add . (添加需要提交的代码)
- git commit -m "说明" (提交代码)
- git push origin 分支名字 (如果不需要其他人审核直接可以合并的话使用该命令,需要审核,等待其他人合并,看第7条)
- git push origin HEAD:refs/for/分支名字 (这条命令会提交到线上,并不会直接合并)
3.回退版本与恢复
- git reflog (查看每一次commit时最前面生成的id)
- git reset --mixed commitId (--mixed 代码不会丢失 恢复到当前commit commitId就是reflog查看的最前面的id)
- git reset --hard commitId (--hard 代码会丢失 恢复到当前commit commitId就是reflog查看的最前面的id)
4.强制拉取线上代码到本地
- git fetch --all && git reset --hard origin/master && git pull (谨慎使用,会直接把本地所有代码变成线上一模一样的,但是可以看第3条恢复)
5.删除中间的某个commit
- git reset --hard commitId (--hard 代码会丢失 commitId为想要丢掉的上一个commit的id)
- git cherry-pick commitId commitId (恢复其他的commit 可多个一起 commitId 用空格分开)