一. 冲突的产生:在上次git同步(上传)之后,本地和远程均有更改

二. 处理

1. 丢弃本地,采用远程:

git checkout 冲突文件及其路径

如: git checkout bzrobot_navigation_meta_packages/map_server/src/access_map_server.cpp

2. 人为合并( git mergetool)本地和远程代码 (思路:先提交没有冲突的部分,再人为合并,再提交冲突的部分,最后将所有改动push上去)

1). git pull: 提示冲突

2). 提交(git add --all; git commit)

3). git pull

4). git mergetool

5). git pull
    6). git commit 
         [216-fixed-area-walk d228a46] Merge branch '216-fixed-area-walk' of 192.168.1.51:IGV/IGV01-SW into 216-fixed-area-walk

7). git add --all
    8). git commit
    9). git push origin 216-fixed-area-walk

以下是一次情况2的实际操作过程:

wang@wang:~/IGV01-SW$ git pull
Updating 502a546..9d49eeb
error: Your local changes to the following files would be overwritten by merge:
bzrobot_navigation_meta_packages/map_server/src/access_map_server.cpp
Please, commit your changes or stash them before you can merge.
Aborting
wang@wang:~/IGV01-SW$ git add --all
wang@wang:~/IGV01-SW$ git commit
[216-fixed-area-walk c8fd2d7] 添加可行区域请求程序
16 files changed, 167 insertions(+), 22 deletions(-)
create mode 100644 bzrobot_atom_tasks/bzrobot_require_access_area/CMakeLists.txt
create mode 100644 bzrobot_atom_tasks/bzrobot_require_access_area/include/bzrobot_require_access_area/require_access_area.h
create mode 100644 bzrobot_atom_tasks/bzrobot_require_access_area/launch/bzrobot_require_access_area.launch
create mode 100644 bzrobot_atom_tasks/bzrobot_require_access_area/package.xml
create mode 100644 bzrobot_atom_tasks/bzrobot_require_access_area/src/require_access_area.cpp
wang@wang:~/IGV01-SW$ git pull
Auto-merging bzrobot_navigation_meta_packages/map_server/src/access_map_server.cpp
CONFLICT (content): Merge conflict in bzrobot_navigation_meta_packages/map_server/src/access_map_server.cpp
Automatic merge failed; fix conflicts and then commit the result.
wang@wang:~/IGV01-SW$ git mergetool

This message is displayed because 'merge.tool' is not configured.
See 'git mergetool --tool-help' or 'git help config' for more details.
'git mergetool' will now attempt to use one of the following tools:
meld opendiff kdiff3 tkdiff xxdiff tortoisemerge gvimdiff diffuse diffmerge ecmerge p4merge araxis bc3 codecompare emerge vimdiff
Merging:
bzrobot_navigation_meta_packages/map_server/src/access_map_server.cpp

Normal merge conflict for 'bzrobot_navigation_meta_packages/map_server/src/access_map_server.cpp':
{local}: modified file
{remote}: modified file
Hit return to start merge resolution tool (meld):
wang@wang:~/IGV01-SW$ git pull
You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.
wang@wang:~/IGV01-SW$ git commit
[216-fixed-area-walk d228a46] Merge branch '216-fixed-area-walk' of 192.168.1.51:IGV/IGV01-SW into 216-fixed-area-walk
wang@wang:~/IGV01-SW$ git pull
Already up-to-date.

wang@wang:~/IGV01-SW$ git add --all
wang@wang:~/IGV01-SW$ git commit
[216-fixed-area-walk 44a25ff] 修改类命名
4 files changed, 15 insertions(+), 14 deletions(-)
wang@wang:~/IGV01-SW$ git push origin 216-fixed-area-walk

Counting objects: 186, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (62/62), done.
Writing objects: 100% (70/70), 6.38 KiB | 0 bytes/s, done.
Total 70 (delta 42), reused 0 (delta 0)
To git@192.168.1.51:IGV/IGV01-SW.git
9d49eeb..44a25ff 216-fixed-area-walk -> 216-fixed-area-walk

三. 从216分支上传更新至216分支的一般操作过程

1. git pull

2. git add --all

3. git commit

4. git push origin 216-fixed-area-walk

git上传(本地和远程有冲突时)的更多相关文章

  1. git 上传本地文件到github

    git 上传本地文件到github 1 git config --global user.name "Your Real Name" 2 git config --global u ...

  2. Git 上传本地项目到远程仓库 (工具篇)

    前言:前面一开始写了一篇通过命令来操作本地项目上传远程仓库的文章,后来发现此方式没有那么灵活.故跟开发同事请教了下,知道了通过工具来操作更方便.所以写了这篇文章来分享&记录. 前提条件:本地安 ...

  3. Git上传本地仓库项目到gitee远程仓库(命令篇)

    前言:最近整理了一下自己之前的自学代码,包括一些练习的项目.发现有些杂乱,故想使用Gitte(码云)管理.加上不少公司使用Git,所以写了这篇文章记录. 如果我们本地有了项目,那么如何上传到码云上呢? ...

  4. 用git上传本地项目到github上

    首先确认自己已经安装了git,打开git bash,输入ssh-keygen -t rsa -C "自己的邮箱地址@XXX.com" ,生成自己的公钥与私钥   一路默认回车,会生 ...

  5. 第一次使用Git上传本地项目到github上

    对于程序原来说都听说过GitHub,GitHub有许多开源的的项目和一些前沿的技术.因为自己在刚刚开始使用Git把自己写的一些小dome放到GitHub上遇到许多的坑,这么长时间过去了,想对第一次使用 ...

  6. git 上传本地代码到远程仓库

    未经允许,禁止转载! 查看哪些文件被修改过:git status 查看具体的修改内容:git diff 对新添加的文件进行添加:git add 文件名 提交修改标记:git commit -m &qu ...

  7. [Git]使用Git上传本地项目,并同步到Github上

    第一步:先要在github.com中创建一个仓库(New Repository). 第二步,打开Git Bash ① git init [+仓库名]:初始化仓库,执行之后可以在指定的仓库存放地上面看到 ...

  8. 使用Git上传本地项目到http://git.oschina.net

    本文前言,因倡导开源精神,我也把代码传上了开源社区,可是,当初使用http://git.oschina.net 网站上传代码的时候不知道使用工具.我竟然一个文件一个文件复制粘贴,可费了我好大一个劲儿, ...

  9. git上传本地项目到github

    git软件下载地址:https://git-scm.com/download/ 1. 在GitHub上建立项目登录GitHub后,你可以在右边靠中那里找到一个按钮“New Repository”,点击 ...

随机推荐

  1. 如何封装RESTful Web Service

    所谓Web Service是一个平台独立的,低耦合的,自包含的.可编程的Web应用程序,有了Web Service异构系统之间就可以通过XML或JSON来交换数据,这样就可以用于开发分布式的互操作的应 ...

  2. perl-tips-1

    .pm 应该保存 Perl Module,也就是 Perl 模块.例如 Socket.pm.pl 应该保存 Perl Library,也就是 Perl 库文件.例如 perldb.pl.plx 应该保 ...

  3. SQL登录注册练习

    /class User package com.neusoft.bean; public class User { private int password; private String name; ...

  4. ACM-ICPC 2018 徐州赛区网络预赛 H. Ryuji doesn't want to study

    262144K   Ryuji is not a good student, and he doesn't want to study. But there are n books he should ...

  5. Linux学习-进程管理

    为什么进程管理这么重要呢? 这是因为: 首先,我们在操作系统时的各项工作其实都是经过某个 PID 来达成的 (包括你的 bash 环境), 因此,能不能进行某项工作,就与该进程的权限有关了. 再来,如 ...

  6. UVa 1309 DLX Sudoku

    16×16的数独. 看白书学的DLX,有些细节还有待消化,贴个模板先. #include <cstdio> #include <cstring> #include <al ...

  7. zuul sample

    https://github.com/kakawait/uaa-behind-zuul-sample/ 1.参考资料 项目:https://github.com/kakawait/uaa-behind ...

  8. day03_13 多分支if语句及作业

    猜年龄升级版 age_of_princal = 56 guess_age = int( input("请输入您猜测的年龄") ) if guess_age == age_of_pr ...

  9. python学习-- django 2.1.7 ajax 请求

    #--------------views.py---------------------- def add(request): a = request.GET['a'] print(a) b = re ...

  10. jade和ejs两者的特点

    jade特点 1超强的可读性 2灵活易用的缩进 3块扩展 4代码默认进过编码处理,以增强安全性 5编译及运行时的上下文错误报告 6命令行编译支持 7html5模式(使用 !!!5文档类型) 8可选的内 ...