Git版本控制及Goland使用Git教程(二)

简介: Git版本控制及Goland使用Git教程(二)

Git版本控制及Goland使用Git教程(一):https://developer.aliyun.com/article/1417330

3.3.8 解决合并冲突

push之前要先pull,把冲突解决了再提交上去

在一段时间,A、B用户修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突。

A用户在本地修改代码后优先推送到远程仓库,此时B用户在本地修订代码,提交到本地仓库后,也需要

推送到远程仓库,此时B用户晚于A用户,故需要先拉取远程仓库的提交,经过合并后才能推送到远端分

支,如下图所示

在B用户拉取代码时,因为A、B用户同一段时间修改了同一个文件的相同位置代码,故会发生合并冲突。

远程分支也是分支,所以合并时冲突的解决方式也和解决本地分支冲突相同相同,看[2.3.6 解决冲突]

下面来做个示例

  1. 刚开始A,B相等

  1. A更改file2.go,内容为updataforA,B更改file2.go,内容为updataforB。A,B都add和commit,A push到远程仓库
  2. A,B修改了同一文件,由于B用户晚于A用户push,故需要先拉取远程仓库的提交。在B用户拉取代码时,因为A、B用户同一段时间修改了同一个文件的相同位置代码,故会发生合并冲突。
  3. 处理文件中冲突的地方
  4. 将解决完冲突的文件加入暂存区(add)
  5. 提交到仓库(commit)
  1. B push到远程服务器,A pull拉取更新,观察git log,至此冲突解决了


4. 在IDEA中使用Git

4.1 在IDEA中配置Git

如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。选择文件→设置,打开设置窗口,搜索git选择下面的git选

项:

点击测试按钮,现在执行成功,配置完成

4.2 在Idea中操作Git

场景:本地已经有一个项目,但是并不是git项目,我们需要将这个放到码云的仓库里,和其他开发人员继续一起协作开发。

注意,这里的.gitignore里面写的是

.git

.idea

因为不想让.git和.idea也上传

4.2.1 创建项目远程仓库

4.2.2 初始化本地仓库

4.2.3 设置远程仓库

4.2.4 提交到本地仓库

4.2.5 推送到远程仓库

4.2.6 查看git log版本相关内容

4.2.7 再次上传,观察代码不同处

4.2.8 克隆远程仓库到本地

4.2.9 创建分支

一般使用第一种方式较多,因为它可以在任意依次提交的节点上增加分支

4.2.10 切换分支及其他分支相关操作

4.2.11 解决冲突

当前,A已经push到远程服务器上了

B commit了之后pull了一遍,发现有冲突,需要手动解决

选择合并之后,手动去处理

最后再点推送,冲突就解决了

如果B commit之后直接push了,没有pull,那么也会让你去解决冲突

4.3 场景分析

  1. 由组长,基于本项目创建本地仓库;创建远程仓库,推送项目到远程仓库。
  2. 每一位组员从远程仓库克隆项目到idea中,这样每位同学在自己电脑上就有了一个工作副本,可以正式的开始开发了。我们模拟两个组员(组员A、组员B),克隆两个工作区。
  3. 组员A修改工作区,提交到本地仓库,再推送到远程仓库。组员B可以直接从远程仓库获取最新的代码。
  4. 组员A和组员B修改了同一个文件的同一行,提交到本地没有问题,但是推送到远程仓库时,后一个推送操作就会失败。
    解决方法:需要先获取远程仓库的代码到本地仓库,编辑冲突,提交并推送代码。

4.4 ide中的铁令

  1. 切换分支前先提交本地的修改
  2. 代码及时提交,提交过了就不会丢


目录
相关文章
|
1月前
|
存储 开发工具 数据安全/隐私保护
「Mac畅玩鸿蒙与硬件9」鸿蒙开发环境配置篇9 - 使用 Git 进行版本控制
在 HarmonyOS 项目开发中,Git 版本控制可以帮助开发者规范地管理代码变更,确保协作流程顺畅。本篇将详细介绍从创建项目、提交代码到 Git 远程仓库,再到修改、推送更新的完整操作流程,重点演示如何使用 Git 和 GitHub 进行身份验证和版本管理。
65 3
「Mac畅玩鸿蒙与硬件9」鸿蒙开发环境配置篇9 - 使用 Git 进行版本控制
|
22天前
|
测试技术 持续交付 开发工具
Git版本控制在团队协作中具有重要作用
Git版本控制在团队协作中具有重要作用
21 1
|
22天前
|
数据可视化 开发工具 git
如何解决 Git 版本控制系统中冲突的问题?
在Git版本控制系统中,冲突是指在合并或拉取操作时,两个或多个开发者对同一文件的同一部分进行了不同的修改,导致Git无法自动确定应该采用哪种修改。
33 1
|
1月前
|
存储 开发工具 git
git工具使用教程全讲解
本文介绍了版本控制的概念及其重要性,详细对比了多种版本控制工具,如VSS、CVS、SVN和Git,重点讲解了Git的基本使用方法、工作原理及与SVN的区别。此外,文章还介绍了GitHub、GitLab和Gitee等流行的代码托管平台,以及如何在这些平台上注册账号、创建和管理仓库。最后,文章还提供了如何在IntelliJ IDEA中配置和使用Git的具体步骤。
48 1
|
1月前
|
Ubuntu 开发工具 git
Git高手必备:掌握这些版本控制最佳实践,让你的代码管理效率翻倍!
【10月更文挑战第25天】使用 Git 进行版本控制是现代软件开发的重要部分。本文详细介绍了 Git 的安装、配置、基本操作、分支管理、冲突解决及常用命令,帮助开发者提高工作效率,确保代码质量和团队协作的顺利进行。通过合理使用 Git,可以有效管理代码变更,支持多人协作,并追踪历史记录。
68 4
|
1月前
|
开发工具 C# git
C#一分钟浅谈:Git 版本控制与 GitFlow 工作流
【10月更文挑战第22天】本文介绍了 Git 和 GitFlow 的结合使用,从基础概念到具体操作,涵盖了安装配置、基本命令、GitFlow 工作流的核心分支和流程示例。同时,文章还讨论了常见的问题和易错点,如忽略文件、冲突解决、回退提交和分支命名规范,并提供了代码案例。通过学习本文,读者可以更好地理解和应用 Git 及 GitFlow,提高团队协作效率。
51 1
|
20天前
|
存储 项目管理 开发工具
掌握Git版本控制,提升团队协作效率
掌握Git版本控制,提升团队协作效率
20 0
|
28天前
|
开发工具 git
掌握Git版本控制,提升团队协作效率
掌握Git版本控制,提升团队协作效率
|
1月前
|
开发工具 git 开发者
|
2月前
|
数据可视化 项目管理 开发工具
Git 可视化的实现:提升版本控制体验的利器
Git是最流行的分布式版本控制系统,广泛用于软件开发和项目管理。但其命令行操作复杂,难以直观理解,尤其是涉及分支和合并时。为此,Git可视化工具应运而生,通过图形界面帮助开发者更清晰地理解项目历史、分支结构及变更情况。本文将探讨Git可视化的概念背景、技术方法及相关工具,包括GitKraken、Sourcetree、Gitg、Git Extensions和Tig等,帮助读者掌握其在日常工作中的应用,提升版本管理效率。此外,还将介绍如何结合可视化项目管理工具,如板栗看板,实现更高效的团队协作和任务管理。
46 0