管理工作目录 -- mkdir xxx -- cd xxxx -- git init (.git) -- git status 查看工作树状态 -- git log 查看提交记录 -- git reflog 查看之前所有的操作记录 Git 三个状态切换 工作区 暂存区 本地仓库 -- git add ./<filename> 工作区到暂存区 -- git commit -m "" 暂存区到本地仓库 -- git checkout ./<filename> 丢弃工作区的内容 -- git reset ./<filename> 从暂存区退到工作区 -- git reset --hard/--soft <commit_id> 版本的回退 -- hard 丢弃内容 -- soft 把内容放入暂存区 分支管理 -- git branch <name> 创建分支 -- git branch 查看分支 -- git branch -d <name> 删除分支 -- git checkout <name> 切换分支 -- git merge <name> 讲name分支合并到当前分支 -- 冲突只能手动解决 -- 解决完冲突记得要提交 标签管理 -- git tag <name> <commit_id> 给指定的版本加标签 -- git tag 查看标签 -- git tag -d <name> 删除标签 远程仓库建立连接 -- SSH -- 1 本地生成公钥私钥 在主用户的根目录下 -- 2 把公钥放入GitHub中 -- 建立连接 git remote add "远程仓库的别名" "远程仓库的地址https/ssh" -- 查看所有的远程仓库 git remote -- 向远程仓库提交代码 git push -u 远程仓库别名 本地分支名:远程分支名(如果忽略远程分支名,将会把本地分支名中的文件传到远程分支中与本地分支同名的分支,没有则新建分支) 注意 -u 第一次提交代码的时候本地分支跟远程仓库的分支建立起连接 -- 从远程仓库拉代码 git pull 远程仓库别名 分支名 -- 远程仓库的代码跟你最后push的代码有变化的时候 push会失败 -- 先从远程仓库拉取代码 -- 手动解决冲突 -- 提交到本地仓库 -- git push .... 流程 -- 拉取自己分支的代码 -- 提交到测试分支 -- 提交到远程仓库自己的分支 -- 提交合并请求 -- 由领导把你的分支合并到master -- 提交到保险分支 -- 提交线上分支 当线上出bug -- 在master分支建立bug分支 -- 在线上分支版本回退 -- 在bug分支 解决bug rebase 合并提交记录 保持记录的整洁性 克隆项目 -- git clone 地址 获取ssh公钥 ssh-keygen -t rsa -C "youremail@example.com" #邮箱是注册github的邮箱 把生成的公钥放入GitHub账号的sshkey列表里