【Git及其冲突】Git commit与pull的先后顺序【记一次奇怪的历程】

本文记录了一次使用Git进行代码合并时遇到的冲突处理过程,详细描述了从冲突产生到解决的步骤,包括如何使用Git命令进行冲突文件的修复、提交以及拉取最新代码。

git add .

git commit -m "本地第A次提交"

之后

git pull origin master

之后有冲突:

Auto-merging WheelPicker/build.gradle
CONFLICT (content): Merge conflict in WheelPicker/build.gradle
Auto-merging ImagePickerModule/build.gradle
CONFLICT (content): Merge conflict in ImagePickerModule/build.gradle
Auto-merging AndroidPattern/build.gradle
CONFLICT (content): Merge conflict in AndroidPattern/build.gradle
Automatic merge failed; fix conflicts and then commit the result.

 比如其中之一文件:(打算选择丢弃本地,使用远程仓库的代码)

<<<<<<< HEAD
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
=======
    compileSdkVersion 28
>>>>>>> 7601************************468014******

使用如下命令:

git reset --hard

给出:

HEAD is now at 9058b3c 本地第A次提交

则变成了原来本地的代码,查了一下彻底回退了,相当于什么也没做

    compileSdkVersion 27
    buildToolsVersion '27.0.3'

尝试

git stash

给出警告:

AndroidPattern/build.gradle: needs merge
ImagePickerModule/build.gradle: needs merge
WheelPicker/build.gradle: needs merge
AndroidPattern/build.gradle: needs merge
ImagePickerModule/build.gradle: needs merge
WheelPicker/build.gradle: needs merge
AndroidPattern/build.gradle: unmerged (239*****************ca88e153856b28****db)
AndroidPattern/build.gradle: unmerged (6de*****************6befa4141bfabb****1d)
AndroidPattern/build.gradle: unmerged (b6f*****************78b0dad9424885****86)
ImagePickerModule/build.gradle: unmerged (56f*****************d0d39d53b6c909****fc)
ImagePickerModule/build.gradle: unmerged (a24*****************e7e299a67dd8ec****e7)
ImagePickerModule/build.gradle: unmerged (b9e*****************75d7bdeab5ed66****26)
WheelPicker/build.gradle: unmerged (f56*****************f6f81056551594****42)
WheelPicker/build.gradle: unmerged (6eb*****************c9a79c6d091afe****45)
WheelPicker/build.gradle: unmerged (e70*****************d634b5f02ab272****0d)
fatal: git-write-tree: error building trees
Cannot save the current index state

 然后

git stash pop

给出:

No stash entries found.

 然后尝试:

git reset 7601************************468014******

给出:

Unstaged changes after reset:
M       AndroidPattern/build.gradle
M       ImagePickerModule/build.gradle
M       WheelPicker/build.gradle
M       vertu/build.gradle
M       vertu/src/main/AndroidManifest.xml
M       vertu/src/main/java/com/vertu/myvertu/activity/SignInActivity.java
D       vertu/src/main/res/drawable-xxhdpi/ic_vertu_back.png
M       vertu/src/main/res/values/colors.xml

然后感觉怪异,想回退

git reset --hard

出来:

HEAD is now at 7601317 同事B提交

然后看一眼代码,变成了

compileSdkVersion 28

好像变成了期待的样子,奇怪

执行提交

git commit -m "本地第B次提交"

突然红了:

On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
        AndroidPattern/src/main/res/drawable-xxxhdpi/****_toolbar_back.png
        AndroidPattern/src/main/res/drawable-xxxhdpi/****_logo.png
        AndroidPattern/src/main/res/layout/toolbar_sdk.xml
        ****/libs/
        ****/src/main/java/com/****/my****/activity/ThirdPartyLoginActivity.java
        ****/src/main/java/com/****/my****/sdk_activity/
        ****/src/main/java/com/****/my****/sdk_retrofit/
        ****/src/main/java/com/****/my****/sdk_util/
        ****/src/main/java/com/****/my****/waste/
        ****/src/main/res/drawable-xxhdpi/btn_normal.png
        ****/src/main/res/drawable-xxhdpi/btn_pressed.png
        ****/src/main/res/drawable-xxhdpi/ic_launcher.png
        ****/src/main/res/drawable-xxhdpi/ic_launcher_sdk.png
        ****/src/main/res/drawable-xxhdpi/ic_****_toolbar_back.png
        ****/src/main/res/drawable-xxhdpi/jizhumima_normal.png
        ****/src/main/res/drawable-xxhdpi/jizhumima_selected.png
        ****/src/main/res/drawable-xxxhdpi/ic_****_back.png
        ****/src/main/res/drawable-xxxhdpi/my_****_logo.png
        ****/src/main/res/drawable/button.xml
        ****/src/main/res/drawable/save_password.xml
        ****/src/main/res/layout/activity_sdk_login.xml
        ****/src/main/res/layout/activity_sdk_password.xml
        ****/src/main/res/layout/activity_sdk_register.xml
        ****/src/main/res/layout/activity_third_party_login.xml
        ****/src/main/res/layout/toolbar.xml
        ****/src/main/res/values/dimens.xml

nothing added to commit but untracked files present

-----------------------------------------------------------------------------

============================================

重新开始

git add .

提交

git commit -m "本地第AA次提交(Conflict)"

拉下来

git pull origin master

同样的

Auto-merging WheelPicker/build.gradle
CONFLICT (content): Merge conflict in WheelPicker/build.gradle
Auto-merging ImagePickerModule/build.gradle
CONFLICT (content): Merge conflict in ImagePickerModule/build.gradle
Auto-merging AndroidPattern/build.gradle
CONFLICT (content): Merge conflict in AndroidPattern/build.gradle
Automatic merge failed; fix conflicts and then commit the result.

然后手工修改冲突代码

之后再次提交

git commit -m "本地第BB次提交"

报错

error: Committing is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.
U       AndroidPattern/build.gradle
U       ImagePickerModule/build.gradle
U       WheelPicker/build.gradle

之后把这三个文件分别add

git add AndroidPattern/build.gradle
git add ImagePickerModule/build.gradle
git add WheelPicker/build.gradle

再次提交

git commit -m "本地第CC次提交"

没有报错

拉下来

git pull origin master

没报错

From https://git.coding.net/*********/************
 * branch            master     -> FETCH_HEAD
Already up to date.

有没有大佬?拉一把?

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索局部开发之间实现平衡。文章详细解析了算法的初始化、勘探开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOAMOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值