天天看點

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

轉載于:https://www.cnblogs.com/cj2014/p/5557654.html

git