1、git使用的常规操作

git pull——>编辑——>git add——>git commit——>git push

  1. 用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
  2. 用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支;
  3. 用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 pull 强制覆盖本地文件

  • 先执行git fetch -all,然后git reset –hard origin master,然后再去git pull。

7、其他常用操作

  • 保存当前编辑,去处理其他问题,用命令git stash 保存当前的编辑,处理完其他问题后,可用git stash pop 然后继续自己未完成的工程,可用git stash list 查看。
  • git commit –amend,修改最近提交,不产生commit id;