管理工作目录
mkdir xxx
cd xxx
git init 初始化
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分支合并到当前分支 !!!name为分支名而不是文件名
-- 不同分支修改的内容会造成冲突,内容都在文件中,只能手动修改内容解决
-- 解决完冲突需要提交到add暂存区,commit到本地仓库
标签管理
git tag <name> <commit_id> 给指定的版本加标签
git tag 查看标签
git tag -d <name> 删除标签
远程仓库建立连接
- SSH
1. 切换到主用户的家目录下,生成公钥私钥
`ssh-keygen -t rsa -C "youremail@example.com"`
2. 把生成的公钥放入GitHub账号的sshkey列表里
3. 建立连接【在本地】
git remote add "远程仓库的别名" "远程仓库的地址https/ssh"
4. 查看本地连接的所有的远程仓库
git remote
5. 向远程仓库提交代码
git push -u 远程仓库别名 分支名
注意 -u 第一次提交代码的时候本地分支跟远程仓库的分支建立起连接
6. 从远程仓库拉代码
git pull 远程仓库别名 分支名
7. 远程仓库的代码与最后一次push的代码有变化时,push会失败
-- 先从远程仓库拉去代码
-- 手动解决冲突
-- 提交到本地仓库
-- git push ……
克隆项目【将网上的仓库拉到本地】
git clone 远程仓库地址
业务流程
1. 拉取自己分支的代码
2. 提交到测试分支
3. 提交到远程仓库自己的分支
4. 提交合并请求
5. 由领导将你的分支合并到master
6. 提交到保险分支 【和线上分支一模一样】
7. 提交线上分支
-- 当上线后再出bug
1. 在master分支建立bug分支
2. 在线上分支版本回退
3. 在bug分支 解决bug
reset 回退版本
rebase 合并提交记录, 保持记录的整洁性