开发必会的git操作

平常开发中不可缺少的版本控制系统。特别是多人合作开发项目时,更是不可以缺少。
我日常使用的就是git(分布式版本控制系统), 一直在用,今天就来总结下日常操作吧!

git的常见使用

工作区 》暂存区 》 版本库 》远程仓库

前提配置

1
2
3
4
5
6
1. *git config --global --list*查看全局的git配置信息
2. *git config --global -e* 编辑全局的git配置信息
3. 上面的全局信息文件就是.gitconfig 位置在Mac上就是用户目录下 ls -a 即可查看
4. 项目中局部的git配置信息查看*git config --local --list*
5. 项目中局部的git配置信息修改 *git config --local -e*
6. 项目中局部的git配置文件即为 .git/config文件。

常见操作

  1. git status 最常用操作之一 查看本地仓库的变化
  2. git add . 添加工作区的所有文件到暂存区
  3. git commit -m ‘description’ 提交暂存区文件到版本库
  4. git add . 和 git commit -m ‘description’ 可以简写为gcam ‘description’
  5. git push 提交到远程库 简写 gp

注意事项

  1. 开工之前最好先git pull 拉去远程库最新版本
  2. 总之git push 之前最好先git pull下 简写为gl
  3. 利用好git log 以及reflog查看历史的commit的信息

版本回退

1
2
3
1. git log 所有commit版本信息
2. git reflog 所有commit以及reset的版本信息,关键可以看到commit_id. 可以在任意版本之间穿梭
3. *git reset --hard commit_id*

其他操作

1
2
3
4
5
1. 从版本库删除文件 git rm file 然后在git commit -m '删除了文件'
2. 恢复从版本库删除的文件*git checkout -- file* 即可,git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
3. 撤销对工作区的所有的修改 *git checkout -- file*
4. 撤销对暂存区的所有修改(即撤销add操作) git reset head file
5. git push -f 强制push到远程仓库

分支

  1. git branch dev创建dev分支
  2. git checkout dev 切换到dev分支
  3. 上述两步 合并为 git checkout -b dev
  4. git branch 查看分支, * 表示当前分支
  5. git branch -d dev 删除dev分支
  6. 合并某分支到当前分支 git merge <name

查看远程库的信息

  1. git remote -v 查看远程库信息
  2. git branch -r 查看远程分支

标签tag

方便标注版本信息,而不是一串commit_id

  1. git tag v1.0 打标签
  2. git tag 查看
  3. git show v1.0 查看具体信息
  4. git tag -d v1.0 删除标签
  5. 推送标签到远程仓库 git push v1.0
  6. git push origin –tags可以推送全部未推送过的本地标签
  7. git push origin :refs/tags/可以删除一个远程标签