zoukankan      html  css  js  c++  java
  • git 解冲突

    如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:

      git stash

    git pull
    git stash pop

     然后可以使用Git diff -w +文件名 来确认代码自动合并的情况.

     

    反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:

     git reset --hard

     git pull

     其中git reset是针对版本,如果想针对文件回退本地修改,使用

     
    • git checkout HEAD file/to/restore  

    -----------------------
    我的经验是使用rebase。

    具体操作
    1.git add <FILE>
    2.git commit ...
    3.git pull --rebase (将你的版本加在最后的节点上)
    如果有冲突,会提示你。冲突分为两种,一种是在不同地方的冲突,通常情况下,git是可以自己合并的。另外一种是因为可能是同一个文件的编辑,git没法自动合并,需要二选一,这时候打开冲突的文件,手动编辑文件到可用的版本。然后。。
    4.git rebase --continue
    重复3,4直到所有的都solve
    5.git push

    上传到remote,搞定!
    -----------------------

    ref:

    Git:代码冲突常见解决方法 - 陈小峰(iefreer)的专栏 - 博客频道 - CSDN.NET
    http://blog.csdn.net/iefreer/article/details/7679631

    git中配置Beyond Compare作为mergetool - 千里之外 - 博客频道 - CSDN.NET
    http://blog.csdn.net/woshinia/article/details/18040615


    用git log --graph命令可以看到分支合并图。

    sudo apt-get install meld; (install meld)
    git config --global merge.tool meld; (set Git merge tool default as meld)

    If you want to fix the conflicts, use
    git mergetool;

    Git - Book
    https://git-scm.com/book/en/v2

    Git - 远程分支
    https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF

  • 相关阅读:
    windows下postgreSQL安装与启动
    Map、Set、List区别
    责任链模式实战
    Java的URL类(二)
    linux 之分区和文件系统
    linux 之网络命令
    linux 之用户管理
    linux 权限之acl
    我的hadoop学习之路
    Hadoop 学习之Docker
  • 原文地址:https://www.cnblogs.com/bluestorm/p/6323138.html
Copyright © 2011-2022 走看看