模拟场景1:进入公司第一天
- 将公钥绑定到公司仓库 id_rsa.pub 位置:c/用户/搜索ssh
- 拷贝公司代码到本机 git clone ssh地址
- 创建新分支 git branch 新分支名 删除分支 git branch-d 分支名
- 查看分支 git branch
- 选择分支 git checkout 分支名
- 创建并切换此分支 git checkout -b 新分支名
模拟场景2:正式开发第一天
完成当天需求提交代码
- 添加到暂存区 git add .
- 加到本地仓库 git coppmit -m "xxx
- 将本地分支上传到远程仓库 git push -u origin 新分支名 此后git push即可 第二天上班和下班之前:拉取最新代码避免分支冲突 git pull origin 分支名
拟场场景3:将本地代码上传到远程仓库
- 初始化仓库 git init
- 将代码添加到暂存区 git add .
- 将代码添加到本地仓库 git commit -m"xxx"
- 将本地仓库推送到远程地址上 git remote add origin 新建仓库地址
- 将仓库主分支命名为master推送到远程仓库 git push -u origin master
模拟场景4:发现git clone 只拉取了master
此时 如果想要拉取其他分支的代码
- git branch -a 查看哪些分支是隐藏分支
- git fetch 将所有远程分支克隆到本地仓库
再将 远程其他分支与本地分支连接
- 连接并切换 git checkout -b origin/隐藏分支名
- 如果想连接不切换 只创建和远程仓库一样名字的分支
git checkout -t origin/
隐藏分支名
最后 再查看分支: git branch
本地就会出现和远程分支一样的分支名
模拟场景5:领导需要之前版本的代码 如何回滚?
分为两种回撤场景:
硬回撤
:像时间穿梭一样彻底回到历史某个版本,工作区里的代码也变回到回撤后版本的代码(HEAD指向了回撤后的版本)
- 查找当前版本以及之前版本的commit id git log (id选中5个即可复制到reset)
- 回撤到之前版本 git reset --hard commit id
- 提交 git push
模拟场景6: 一不小心回撤到上上上个版本 不是领导要求的版本 怎么办?
- 查看所有版本的id git log可以看本版本包括之前id
- git reflog判断在哪个位置 寻找需要回撤的版本id (git reflog显示所有版本)
- 回撤 git reset --hard commit id
- 提交 git push
模拟场景7:代码已经提交 但提交的代码有问题 如何修改提交
软回撤
:只是回撤了本次提交而已,工作区里的代码不变(HEAD指向不变)
即没有git push
- git reset --soft 分支名
- 修改代码
- git add .
- git commit -m"xxx"
- git push git push以后无药可救