初学git

75 阅读2分钟

模拟场景1:进入公司第一天

  1. 将公钥绑定到公司仓库 id_rsa.pub 位置:c/用户/搜索ssh
  2. 拷贝公司代码到本机 git clone ssh地址
  3. 创建新分支 git branch 新分支名 删除分支 git branch-d 分支名
  4. 查看分支 git branch
  5. 选择分支 git checkout 分支名
  6. 创建并切换此分支 git checkout -b 新分支名

模拟场景2:正式开发第一天

完成当天需求提交代码

  1. 添加到暂存区 git add .
  2. 加到本地仓库 git coppmit -m "xxx
  3. 将本地分支上传到远程仓库 git push -u origin 新分支名 此后git push即可 第二天上班和下班之前:拉取最新代码避免分支冲突 git pull origin 分支名

拟场场景3:将本地代码上传到远程仓库

  1. 初始化仓库 git init
  2. 将代码添加到暂存区 git add .
  3. 将代码添加到本地仓库 git commit -m"xxx"
  4. 将本地仓库推送到远程地址上 git remote add origin 新建仓库地址
  5. 将仓库主分支命名为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以后无药可救