第一次用Git协作流程记录和踩坑

  • Git安装和设置(略)
  • 把Github账号邮箱发给负责人,负责人邀请进入仓库
  • 仓库分支结构
    • main: 生产分支(受保护)
    • dev: 开发分支
    • 其他分支
  • 克隆仓库
复制代码
  git clone <仓库地址>
  • 查看所有分支
    *

    复制代码
      git branch

    *代表当前所在分支

  • 建立dev子分支
    *

    复制代码
      #确保在dev分支
      git checkout dev
    
      #创建功能分支
      git checkout -b new_branch
    
      #  验证
      git branch
      # 应该显示:
      # * new_branch
      #   dev
      #   main
  • 在子分支下修改代码并跑通(2000 yrs later)

  • 暂存修改
    *

    复制代码
      #暂存所有修改
      git add . 
    
      #暂存某个文件
      git add <文件名> 
    
      #查看当前状态
      git status
  • 提交修改(这一步不会影响远程仓库)

    复制代码
      git commit -m"修改信息"
  • 拉取远程仓库和merge

    先获取远程最新信息(git fetch只会拉取,不会合并)

    git fetch origin

    查看远程dev有而你没有的提交

    git log --oneline origin/dev..HEAD

    查看你有而远程dev没有的提交

    git log --oneline HEAD..origin/dev

    #merge 远程
    git merge origin/dev

  • 解决冲突(如果有)

    • 打开冲突文件,查找 <<<<<<< 标记
      • 示例:

        <<<<<<< HEAD
        你的代码

        别人的代码
        >>>>>>> origin/dev
    • 修改代码冲突的地方,删除冲突标记,保留正确代码
    • 解决后,重新添加冲突文件
    复制代码
      git add <文件名>
    • 再次提交
      *

      复制代码
        git commit -m"已经解决冲突"
    • 再次同步

    复制代码
      #再次同步
      git fetch origin
      git merge origin/dev
    • 确认没有问题后推送到远程仓库

      #如果之前没推送过new_branch分支分支
      git push -u origin new_branch

      -u 表示设置上游分支,以后只需要 git push

      #如果之前推送过
      git push origin new_branch

      或简写

      git push

然后登录Github切换到你创建的分支,在页面上面可以看见一个Compare & pull request的按钮

点击然后填写Pull Request的标题和描述,然后点击Create Pull Request就可以了。

我没截到图,Pull Request的提交可以参考【GitHub】如何在github上提交PR(Pull Request) + 多个pr同时提交、互不干扰-阿里云开发者社区

相关推荐
如意.7595 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
用户91868612868710 小时前
Git 版本控制完全指南:从入门到精通
git
简离12 小时前
Git 一次性清理已跟踪但应忽略文件
前端·git
Drone_xjw12 小时前
【环境搭建】Windows 10上使用Docker搭建本地Git仓库(Gitea)完整教程
windows·git·docker
疯狂成瘾者12 小时前
git学习目录
git·学习
曾几何时`13 小时前
Git——自用手册
git
新镜17 小时前
【git】 曾经合入的文件被删除,再次合入时,相同的文件路径并不会自动合入
git
console.log('npc')18 小时前
git commit之后,想撤销commit
git
春日见18 小时前
UniAD的逻辑,与传统自动驾驶的差异
人工智能·windows·git·机器学习·docker·容器·自动驾驶
奋斗者1号19 小时前
解决Git Push Gerrit分支失败的全流程实战
大数据·git·elasticsearch