项目的git使用以及解决冲突

Git 仓库

  1. 在 gitee 上创建一个远程中的空白中央仓库
  2. 将本地已搭建项目的仓库与远程仓库关联,将本地版本库推送到远程中央仓库中:
$ git remote add origin xxx
$ git push origin master
  1. 进行远程中央仓库设置:
    1. 设置为开源项目
    2. 添加小组成员到当前中央仓库中
    3. 在远程中央仓库中,基于 master 分支,创建 dev 分支(以后小组成员写的代码,向 dev 分支中合并),将 dev 分支设置为默认分支

解决冲突:

  1. 从远程中央仓库中克隆代码(默认克隆的 dev 分支)
$ git clone xxx
  1. 在本地创建自己的开发使用到的分支
$ git checkout -b 分支名称
# 如:
$ git checkout -b zhenzhi
  1. 在自己的分支中进行开发:在工作空间中完成任务编码
  2. 在完成一个功能并通过自测后,提交本地版本库
$ git add -A
$ git commit -m 'feat: 新功能' # feat:新特性  fix:修改bug   chore:项目架构  refactor:项目重构  doc:文档  test:测试   .........
  1. 将本地版本库推送到远程中央仓库自己的分支中:
$ git push origin zhenzhi
  1. 在远程中央仓库自己的分支中,提交 Pull Request(合并请求,简称 PR) 。源分支选择为自己的分支,目标分支为 dev 分支,填写标题与说明,然后提交 PR。

  2. 如果提示绿色的 “可自动合并” 则说明源分支与目标分支不存在冲突,可直接合并,需要管理员通过评审测试后可合并到目标分支中。

  3. 如果提示红色的 “不可自动合并” 则说明源分支与目标分支之间存在代码冲突问题。通常先解决冲突后再进行合并。

    冲突的主要原因是开发者都操作过相同的文件,在文件中存在冲突。

    1. 切换回 dev 开发分支
    $ git checkout dev
    
    1. 将远程中央仓库中 dev 分支的最新版本拉取到本地
    $ git pull origin dev
    
    1. 切换回自己的分支:
    # 如:
    $ git checkout xiaohong
    
    1. 变基(改变基准分支,将最新的 dev 分支合并到当前分支来)
    $ git rebase dev
    
    1. 如果变基失败(报错)则说明不能自动解决所有冲突问题,需要手动解决冲突
    2. 查看冲突文件:
    $ git status
    
    1. 与小组成员讨论,手动解决所有冲突问题
    2. 在本地再次运行项目,查看是否能正常运行
    3. 手动解决冲突后,将已解决冲突文件添加到暂存区:
    $ git add -A
    
    1. 继续变基:
    $ git rebase --continue
    
    1. 如果进入编辑提交版本信息的界面(vim编辑器界面),可按 I 键进行插入编辑。要退出编辑器界面,按 Esc 然后输入 :wq 保存并退出。

    2. 如果在分支名称后还有 |REBASE 1/1 这类似的提示信息,则继续按照上述变基步骤处理(从5步开始继续变基)。

    3. 解决完冲突后,继续将自己的分支推送到远程中央仓库,提交 PR。如果本地自己分支与远程自己的分支存在冲突不能推送,可删除远程自己的分支再推送。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于使用Git进行版本控制时,当多个分支同时修改了同一文件的同一部分,产生了冲突时,可以使用`git rebase`命令来解决冲突。 下面是解决冲突的一般步骤: 1. 首先,使用`git status`命令查看当前分支状态,确保没有未提交的更改。 2. 使用`git checkout`命令切换到需要进行rebase的分支,例如:`git checkout feature_branch`。 3. 运行`git rebase target_branch`,其中`target_branch`是要将分支合并到的目标分支。这将会将`feature_branch`上所做的更改应用到`target_branch`上。 4. 如果在rebase过程中发生冲突Git会停止rebase并提示你解决冲突。可以使用`git status`查看哪些文件有冲突。 5. 打开有冲突的文件,解决冲突。在文件中会有Git标记冲突的部分,你可以手动修改它们或者选择使用其他工具来辅助解决冲突。 6. 解决冲突后,使用`git add <resolved_file>`将解决后的文件标记为已解决。 7. 运行`git rebase --continue`继续rebase过程。 8. 如果还有其他冲突,重复步骤5-7,直到所有冲突解决完毕。 9. 当rebase完成后,使用`git log`确认提交历史没有问题。 10. 使用`git push origin feature_branch --force`将修改推送到远程仓库(注意使用`--force`选项)。 请注意,rebase会改写提交历史,因此在多人协作的项目中,如果有其他人在使用分支或者该分支已经被推送到远程仓库,请小心使用rebase命令,并与团队成员进行协调。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值