git上传(本地和远程有冲突时)

一. 冲突的产生:在上次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的实际操作过程:

[email protected]:~/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
[email protected]:~/IGV01-SW$ git add --all
[email protected]:~/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
[email protected]:~/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.
[email protected]:~/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):
[email protected]:~/IGV01-SW$ git pull
You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.
[email protected]:~/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
[email protected]:~/IGV01-SW$ git pull
Already up-to-date.

[email protected]:~/IGV01-SW$ git add --all
[email protected]:~/IGV01-SW$ git commit
[216-fixed-area-walk 44a25ff] 修改类命名
4 files changed, 15 insertions(+), 14 deletions(-)
[email protected]:~/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 [email protected]: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

时间: 2024-10-11 11:16:28

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

git 上传本地文件到github

1 git config --global user.name "Your Real Name" 2 git config --global user.email [email protected] git init git add . git commit -m 'Test' git remote add origin [email protected]:XXX/XXX.git 3 git push -u origin master 一些可能遇到的问题解决: 如果输入$ git re

使用Git上传本地项目到GitHub/Coding/码云

Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 本文以利用Git上传本地项目到GitHub为例,为那些刚刚接触Git的新手提供使用Git上传本地项目到GitHub/Coding/码云的方法. 注册GitHub账号并安装Git 首先注册GitHub账号,并添加新项目. 下载并安装Git,安装路径可以自己修改,安装过程中的一些设置选择默认即可. 利用Git上传本地项目到GitHub 在本地项目文件夹中空白处右键单击选择"Git Bash Here"

PyCharm使用小技巧--git上传代码至远程仓库

git方式上传.下载代码一种方式是通过git客户端,另一种方式可通过编辑器pycharm来操作 本篇文章主要写一下如何通过pycharm客户端来上传下载代码. 1.首先配置git上传的环境 File--->Settings--->VersionControl---->Git如下图所示: 2.下载代码 File--->CloseProject---进入如下页面,选择方式为git 点击clone---即将代码下载到本地 3.修改代码并上传到远程仓库 4.再次pull最新代码时,点击下拉

用git上传本地项目到github上

首先确认自己已经安装了git,打开git bash,输入ssh-keygen -t rsa -C "自己的邮箱地址@XXX.com" ,生成自己的公钥与私钥   一路默认回车,会生成公钥.私钥到以下文件夹下id_rsa是私钥,id_rsa.pub是公钥,打开公钥等下要用到   浏览器进入自己的github,打开设置,进入ssh and GPG keys   点击NEW ssh key,自己填个标题,下面内容复制前面打开的公钥,最后添加   可以用ssh -T [email protec

使用git上传本地项目到GitHub上和更新

最近在玩GitHub这个基友平台,在这里做个总结,方便以后查阅,也可以给网友们做个参考. 一:注册GitHub账号和下载git. 二:在GitHub上新建个仓库,点+号再点击New repository,给你的仓库起个名字,我的是test. 三:安装git,我安装的是win64版本,直接解压安装就好.在本地磁盘找一个文件夹作为本地仓库,选择Git Bash Here,切换到/e/te 目录下,输入git init初始化,发现目录下多了一个.git文件夹. 四:配置ssh key值  在git命令

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

对于程序原来说都听说过GitHub,GitHub有许多开源的的项目和一些前沿的技术.因为自己在刚刚开始使用Git把自己写的一些小dome放到GitHub上遇到许多的坑,这么长时间过去了,想对第一次使用Git上传代码做一下总结,以免使自己忘记. 1.下载Git软件:https://git-scm.com/downloads,据说ios自带的有git软件,这个我就不太清楚了. 2.下载之后安装就很简单了,一路下一步就可以了.安装完成后鼠标右击和者开始->程序会出现,打开Git Bash,进入bash

利用git上传本地文件、文件夹到Github

 利用git上传文件至github是特别常用的,总结以下内容供参考使用. 第一步:下载git工具,[这里是链接](https://git-scm.com/downloads),选择适合自己的版本进行安装. 第二步:安装完成后,找到Git bash,双击打开. 第三步:输入自己的用户名和邮箱(为注册GITHUB账号时的用户名和邮箱) $ git config --global user.name "[email protected]" $ git config --global user

Git与GitHub(利用git上传本地文件到GitHub上面)

GitHub就是代码仓库(管理代码的工具)可以共享给所有人 Git就是从GitHub上提取文件或者将本地文件上传到GitHub的工具(等同于SVN) 利用Git上传项目 步骤一:(用户和邮箱为你github注册的账号和邮箱) $ git config --global user.name "startstudysmile" $ git config --global user.email "[email protected]" 步骤二:设置SSH key $ ssh

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

本文前言,因倡导开源精神,我也把代码传上了开源社区,可是,当初使用http://git.oschina.net 网站上传代码的时候不知道使用工具.我竟然一个文件一个文件复制粘贴,可费了我好大一个劲儿,那时在想,如果一但写的项目多,文件数量多的话,那不是要COPY死去?觉得这样完全不合理,就搜了一下“如何快速上传代码到开源社区”,哇!好LOW的关键词了,但还好用.果然让我搜到了,原来可以使用git工具来上传,这下可解放了我复制粘贴的动作了,越来越喜欢上用git了. 下面是我搜的比较好的一篇文章,照