1、git使用的常规操作
git pull——>编辑——>git add——>git commit——>git push
- 用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
- 用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支;
- 用git push 提交到远程的仓库。
其实就是工作区——git add——>暂存区——git commit——>HEAD
2、比较本地仓库与远程仓库不同:
- git status 只能查看未push提交的次数;
- git cherry -v只能查看未push提交的描述/说明;
- git log master ^origin/master则可以查看未push提交的详细信息;
- git log origin/master ^master 可以查看远程仓库比本地多的的commit信息,但前提是先得利用git fetch(fetch只会将远程的commit拿到本地,不会将文件拉取到本地,而pull是将文件拉取到本地)。
3、回滚操作(本地和远程仓库)
本地仓库回滚:
- HEAD指向的版本就是当前版本,在本地仓库可以回滚到之前的版本,HEAD^表示上一次的提交,git reset --hard HEAD^表示回滚到上一版本;
- 使用git log 查看提交的历史,确认要回退到哪个版本,记录下commit ID;(git log -p 可以查看提交中的更详细信息);
- 使用命令git reset --hard commitID ,回滚到之前的版本。
远程仓库回滚:
- 因为涉及到很多人都在使用,所以遇到这样的问题可能需要大家沟通,因为不同人提交版本信息,不同人在本地仓库的版本也比较乱,所以大家商量,排查哪个版本有问题,回滚到哪个版本,需要一个人回滚本地,然后push到远程上面,然后大家需要pull及时更新一下,不然提交上去的可能还是之前有问题的版本。
4、删除文件
- 在本地仓库,直接删掉某些文件,利用git status查看,确实想删,从版本库中删除该文件,那就用命令git rm删掉,并且git commit。(其实在本地删除保存之后,再进行commt也是可以的);
- 如果是误删。可利用命令git check --文件名,git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”(路径要对)。
5、分支的使用
- git checkout命令加上 -b 参数表示创建并切换 git checkout -b dev(相当于先执行git branch dev后执行git checkout dev),可用git branch 查看当前分支。
- 在dev分支上面做修改,然后commit,此时master分支是看不到此次commit的信息;
- 切换到master分支,然后执行git merge dev(git merge命令用于合并指定分支到当前分支),然后可删除dev分支,执行git branch -d dev。
6、其他常用操作
- 保存当前编辑,去处理其他问题,用命令git stash 保存当前的编辑,处理完其他问题后,可用git stash pop 然后继续自己未完成的工程,可用git stash list 查看。