git常见问题分析

      

目录

git merge 结果是 git merge Already up-to-date. 该怎么解决?

git 上传至github出现error:your local changes to the following files would to be overwritten解决办法

$ git init  $ git add .执行git add . 后仍然报changes not staged for commit错误的解决方法

git pull 提示错误,Your local changes to the following files would be overwritten by merge

Git Pull Failed Pulling is not possible because you have unmerged files.

git提交时报错:Updates were rejected because the tip of your current branch is behind

github远程库覆盖本地库

IDEA git修改远程仓库地址


 

git merge 结果是 git merge Already up-to-date. 该怎么解决?

git将主干合并到当前分支时,出现如下结果:

原因在于:执行git merge前,主干的代码没有更新

正确的操作步骤如下:

1 .切换到主干

 $ git checkout master

 2. 更新主干代码

 $ git pull origin master

3. 切换回分支

 $ git checkout feature/20170527_894373_inventory_order_export_1

4. 执行合并操作

 $ git merge master

 这样就对了,剩下的就是解决冲突,然后提交代码

git 上传至github出现error:your local changes to the following files would to be overwritten解决办法

windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add . 时出现提示,解决办法:

$ rm -rf .git  // 删除.git
$ git config --global core.autocrlf false  //禁用自动转换  

然后重新执行:

$ git init  
$ git add .
执行git add . 后仍然报changes not staged for commit错误的解决方法

如果你的git仓库下面还有另外一个clone过来的git仓库,那么当你正常git add . 然后git commit的时候一定会得到如下图的报错:

并且上传到仓库的文件夹是空的

这个时候如果你去网上查找解决方案,可能10个人有九个人会告诉你是因为commit之前没有执行git add导致的,最后一个人可能知道原因,但是提供的方法可能并不能很好的解决问题

这里给出完整的解决方案:

1、先强行删除clone来的目录下的 .git 文件夹
     删除方式:在该目录下打开命令行工具,执行 rd/s/q .git命令

    删除成功后执行ls .git命令提示如下内容说明删除成功

2、回到仓库根目录删除仓库中的空文件夹
    1)git rm -r --cached "themes/materail"

    2)git commit -m "remove empty folder"

    3)git push origin master

 

3、在仓库根目录重新提交代码
    1)git add .

    2)git commit -m "repush"

    3)git push origin master

 

这样就能保证不会报上面的错,并且删除了空文件夹,重新把clone下来的目录上传到了仓库中

最后解释一下出现这种情况的原因:

由于你 clone 下来的文件夹也是一个 git 仓库,因此正常的 git add . 是无法提交该文件夹下的文件的,所以我们要做的就是删除文件夹下的 .git 文件夹,这样就可以通过  git add . 命令来提交内容了。
 

git pull 提示错误,Your local changes to the following files would be overwritten by merge

解决办法:
1、服务器代码合并本地代码

$ git stash     //暂存当前正在进行的工作。
$ git pull   origin master //拉取服务器的代码
$ git stash pop //合并暂存的代码

2、服务器代码覆盖本地代码

$git reset --hard  //回滚到上一个版本
$git pull origin master 

Git Pull Failed Pulling is not possible because you have unmerged files.

è¿éåå¾çæè¿°

用Git 下载主干上的代码时报错了,如图 
 
翻译成中文:因为没有合并文件,拖动是不可能的。因为一个未解决的冲突而退出。

分析 
看输出的错误日志,很明显本地有代码与主干代码冲突,导致pull失败。 
所以commit—push 但是点击commit弹出提示框“没有可提交的内容”证明我本地代码没有任何的更改,有一个最笨的方法,就是把本地代码稍作修改,然后commit—push,果然提交成功了,然后push,还是失败。

再分析 
在git pull的过程中,如果有冲突,那么除了冲突的文件之外,其它的文件都会做为staged区的文件保存起来。 
本地的push和merge会形成MERGE-HEAD(FETCH-HEAD), HEAD(PUSH-HEAD)这样的引用。HEAD代表本地最近成功push后形成的引用。MERGE-HEAD表示成功pull后形成的引用。可以通过MERGE-HEAD或者HEAD来实现类型与svn revet的效果。 
将本地的冲突文件冲掉,不仅需要reset到MERGE-HEAD或者HEAD,还需要–hard。没有后面的hard,不会冲掉本地工作区。只会冲掉stage区。 
git reset –hard FETCH_HEAD 

 


 
git pull就会成功。


git提交时报错:Updates were rejected because the tip of your current branch is behind

出现这样的问题是由于:自己当前版本低于远程仓库版本

有如下几种解决方法:

1.使用强制push的方法:

 git push -u origin master -f

这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。

2.push前先将远程repository修改pull下来

git pull origin master

git push -u origin master

3.若不想merge远程和本地修改,可以先创建新的分支:

git branch [name]

然后push

git push -u origin [name]

github远程库覆盖本地库

首先,git fetch --all 

    取回远程库的所有修改;

然后,git reset --hard origin/master

    指向远程库origin的master

IDEA git修改远程仓库地址

方法有三种:

方法1.修改命令

git remote set-url origin <url>

方法2.先删后加

git remote rm origin
git remote add origin [url]

方法3.直接修改config文件


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CLion是一款由JetBrains开发的跨平台集成开发环境(IDE),专门用于C和C++的开发。它提供了丰富的功能和工具,可以帮助开发者提高代码的质量和效率。 以下是一些CLion的常见问题及其解答: 1. CLion支持哪些操作系统? CLion支持Windows、macOS和Linux操作系统。 2. 如何安装CLion? 你可以从JetBrains官网下载CLion的安装包,然后按照安装向导进行安装。安装完成后,你需要激活CLion才能正常使用。 3. CLion支持哪些编程语言? CLion主要用于C和C++的开发,但也支持其他编程语言,如Objective-C、Swift和Python等。 4. CLion有哪些常用的功能? CLion提供了许多实用的功能,包括代码自动完成、代码导航、代码重构、调试器、版本控制集成等。它还支持CMake构建系统,并提供了强大的代码分析和错误检查功能。 5. 如何配置编译器和构建系统? 在CLion中,你可以通过设置来配置编译器和构建系统。你可以选择已安装的编译器,并配置CMake或Makefile等构建系统。 6. 如何调试代码? CLion内置了调试器,你可以在CLion中设置断点、观察变量的值,并逐步执行代码进行调试。 7. CLion支持哪些版本控制系统? CLion支持Git、SVN和Mercurial等版本控制系统。你可以在CLion中进行代码的版本控制和管理。 8. 如何安装插件? CLion支持插件扩展,你可以在插件市场中下载和安装各种插件,以增强CLion的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值