zoukankan      html  css  js  c++  java
  • Git Pull强制覆盖本地文件

    git在切代码分支时经常碰到这样的问题:error: Your local changes to the following files would be overwritten by merge
    有时本地并没有需要保存的修改,所以可以通过以下方式把本地文件强制覆盖掉。

    > git fetch --all > git reset --hard origin/master > git pull

    1、git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令:

     git fetch orgin master //将远程仓库的master分支下载到本地当前branch中
    
     git log -p master  ..origin/master //比较本地的master分支和origin/master分支的差别
    
     git merge origin/master //进行合并

    也可以用以下指令:

    git fetch origin master:tmp //从远程仓库master分支获取最新,在本地建立tmp分支
    
    git diff tmp //將當前分支和tmp進行對比
    
    git merge tmp //合并tmp分支到当前分支

    2. git pull:相当于是从远程获取最新版本并merge到本地

    git pull origin master

    git pull 相当于从远程获取最新版本并merge到本地

    在实际使用中,git fetch更安全一些

    git reset--hard origin/master

    git reset (–mixed) HEAD~1
    回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也
    不受影响)
    git reset –soft HEAD~1
    回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响)
    git reset –hard HEAD~1
    回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换

  • 相关阅读:
    verilog中的function用法与例子
    HDMI IP学习笔记
    include使用中注意的问题
    PCIE学习
    HDMI学习
    (转)modelsim10.0C编译ISE14.7的xilinx库(xilinx ip核)
    2014年七月华为校招机试题目--最难的一道, 呵呵!
    欧拉函数
    素数高效率筛选法
    树-二叉树的编号
  • 原文地址:https://www.cnblogs.com/xinhua219/p/11011671.html
Copyright © 2011-2022 走看看