本篇主要应前同事需要,整理工作中常用的Git操作
安装配置
下载
官网下载:Git-Downloads
生成秘钥
- 右击打开git bash
- 执行命令,按3个回车,密码为空
ssh-keygen -t rsa -C "个人邮箱地址"- 在C:\Users{windows用户名}.ssh目录下找到id_rsa.pub文件
- 复制id_rsa.pub添加到仓库SSH秘钥配置中。
配置
- 设置自己的姓名和邮箱
git config --global user.name "Your Name"
git config --global user.email "email@example.com"- 设置git仓库能正常显示中文
git config --global core.quotepath false概念理解

- workspace:工作区
- staging area:暂存区/缓存区
- local repository:本地仓库
- remote repository:远程仓库
常用命令
初始化
新项目执行Git初始化,并进行第一次提交
git init
git add .
git commit -m "first commit"
git remote add origin 仓库地址路径
git push origin master克隆
对github、gitlab远程仓库,已有项目进行克隆
git clone 仓库地址路径分支
- 查看所有分支
git branch -a- 切换分支
git checkout 需要切换的分支名- 创建新分支
git checkout -b 分支名-b表示创建并切换分支
拉取
git pull会从远程仓库拉取最新代码合并到当前分支
同步
add
将文件添加到仓库
- 将工作区的某个文件添加到暂存区
git add 文件名- 将当前工作区的所有文件都加入暂存区
git add .commit
将暂存区文件提交到本地仓库
- 将暂存区内容提交到本地仓库
git commit -m "提交说明"- 跳过缓存区操作,直接把工作区内容提交到本地仓库
git commit -am "提交说明"这个命令等于git add . 和git commit -m “提交说明”组合
push
将本地仓库分支推送同步到远程仓库分支
git push状态
查看当前分支状态,可以看到修改、删除、还没提交的文件状态
git status合并
- 开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支
git checkout dev
git pull
git checkout master
git merge dev
git push origin master- 当master代码有更新,需要更新开发分支(dev)上的代码
git checkout master
git pull
git checkout dev
git merge master
git push origin dev标签
到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签
- 查看所有标签
git tag- 创建并推送标签
git tag v1.0 -am "release 1.0 version"
git push origin v1.0日志
查看历史记录
- 查看所有commit记录(SHA-A校验和,作者名称,邮箱,提交时间,提交说明)
git log- 查看最近多少次的提交记录
git log -p -次数- 让提交记录以精简的一行输出
git log --oneline- 图形展示分支的合并历史
git log --graph- 查询作者的提交记录
git log --author=作者- 列出提交信息中包含过滤信息的提交记录
git log --grep=过滤信息回滚(谨慎)
可以通过 git reset 命令将代码回滚到之前某次提交的状态,但一定要将现有的代码做好备份,否则回滚之后这些变动都会消失
- 回退成上次提交的版本
git reset HEAD^- 回退到指定版本
查看提交日志,回退到指定commit_id
git log
git reset --hard commit_id- 将本地的状态回退到和远程的一样
git reset --hard origin/master- 回退 xxx.java 文件的版本到上一个版本
git reset HEAD^ xxx.java