Git常见流程和问题小结

学习 · 2023-11-28 · 49 人浏览

主流管理方式

  1. 共用一个仓库,不同的开发人员使用不同分支
  2. 主仓库不开发,每个成员fork仓库,开发后通过合并提交

单仓库分支模式

分支模式常用操作

git branch 查看分支 默认master 比如Vue下就是main分支

git checkout -b 分支名 切换分支,不存在就会同时创建

git push origin 分支名 推送到指定的分支下,不然push默认是主分支

分支模式合并操作

如果你刚刚推送了代码到你自己的分支,而此时你需要将代码合并到主分支:

  1. git checkout master 切换到主分支
  2. git pull 拉取master主分支的最新代码,这里也许会冲突
  3. git merge 你自己的开发分支(此时处于master分支), 将开发分支代码合并到主分支
  4. git push 将合并操作推送到线上

多仓库Fork模式

2023-12-06T10:24:01.png

该模式下,会把主仓库Fork到自己的仓库中,然后使用自己仓库中的代码进行开发. 不论如何动都不会影响到主仓库,代码提交时经由审核人处理合并

Fork提交合并

  1. 先Fork仓库,并且后续开发要注意拉取新代码
  2. 找到主仓库,进行Pull Request操作,将本地指定分支合并提交的代码推送到主仓库指定分支中(注意该模式下,提交代码后要由组长或者Leader进行审核以及合并操作)

关于冲突

遵循每次开发前及时拉取新代码原则,尽量避免冲突

主要原因

  1. 没有权限
  2. 本地比线上版本落后

    版本不一致

    2023-12-06T10:27:49.png

  3. 如果两个版本之间只是不同的文件或者同一个文件但是区域不同或者缺少,那么直接pull一次再提交即可
  4. 如果是版本之间相同的文件相同区域发生了冲突,则需要进行冲突解决【Merge conflict】
    2023-12-06T10:29:19.png

    版本落后

    2023-12-06T10:36:46.png
    如果只是版本落后,那么在 push报错后,pull一次再push即可

    解决冲突

    保留哪一个版本需要和冲突的版本作者进行商量,确定最终留存的代码
    2023-12-06T10:32:09.png
    修改了冲突的代码后,去掉标识符,保留需要的代码,然后重新进行添加提交:
    2023-12-06T10:34:22.png
    git add .
    git commit -m "解决冲突"
    git push
Git
Theme Jasmine by Kent Liao