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. 代码及时提交,提交过了就不会丢


目录
相关文章
|
20天前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
41 0
Git教程:深入了解删除分支的命令
|
1月前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux git命令使用教程
【Shell 命令集合 文件管理】Linux git命令使用教程
34 0
|
26天前
|
开发工具 git 开发者
Git常用命令大全:让你轻松驾驭版本控制
Git命令速查:`git init`新建仓库,`git clone`克隆,`git add`入暂存区,`git commit -m`提交,`git status`查看状态,`git log`查看历史,`git branch`创建分支,`git checkout`切换,`git merge`合并,`git pull`拉取更新,`git push`推送,`git remote -v`查看远程,`git checkout --`撤销本地修改,`git reset HEAD`取消暂存,`git reset --hard`回退版本。掌握这些,提升代码管理效率!
18 0
|
2月前
|
安全 开发工具 git
git使用教程
git使用教程
48 0
|
3天前
|
存储 项目管理 开发工具
Git 版本控制:构建高效协作和开发流程的最佳实践
版本控制是软件开发的核心,促进团队协作与项目管理。通过制定明确的分支命名策略,遵循一致的代码提交规范,如指明提交类型和简短描述,增强了历史记录的可读性,可以清晰地组织和理解项目的结构与进展。
11 0
Git 版本控制:构建高效协作和开发流程的最佳实践
|
30天前
|
开发工具 git
Git版本控制工具详解(三)
Git版本控制工具详解
35 0
|
1月前
|
程序员 开发工具 git
好程序员Git入门到精通教程
本课程主要通过命令行和idea来介绍Git的安装、仓库创建、工作流、远程仓库、克隆仓库、标签管理和分支管理等Git的主要内容。 另外关于GitHub的使用介绍也有完整的说明和使用,接轨生产环境使用方式。
10 1
好程序员Git入门到精通教程
|
1月前
|
Linux 开发工具 git
Git与GitHub:解锁版本控制的魔法盒子
Git与GitHub:解锁版本控制的魔法盒子
31 1
|
1月前
|
存储 算法 开发工具
|
2月前
|
存储 开发工具 git
Git 教程:解密 .gitignore 文件、合并分支、解决冲突、及 Git 帮助
如果你忘记了命令或命令的选项,你可以使用 Git 帮助。 在命令行中,有几种不同的使用帮助命令的方式: git command -help - 查看特定命令的所有可用选项 git help --all - 查看所有可能的命令 让我们看看不同的命令。
213 3