1 拉取其它分支代码到自己的分支遇到的问题

当我拉取其它分支代码到自己的分支,执行下面的命令时,git报错了。

git pull origin master --allow-unrelated-histories

错误如下:

error: 您对下列文件的本地修改将被合并操作覆盖

原因是你已经修改过的文件(好像add过的也会报这种错误),再拉取时,由于本地有这个修改过的文件,所以当拉取重名的时候会发生冲突,其实如果使用过小乌龟界面的人,我们经常提交代码时也会和别人已经提交过的代码发生冲突,导致无法直接提交。这里的拉取实际也差不多的意思。

解决:

1)撤销本地文件的修改
git status							//首先查看哪些已经被修改的文件
git checkout src/MysqlSingleton.cpp	//代表放弃本地文件的修改,将其还原成最近一次提交的内容。注意与5的git reset filename是撤销add的提交
2)git pull origin master --allow-unrelated-histories	//然后执行命令即可

注意:
但这种命令拉取的结果是不会覆盖已存在的文件。所以必须创建新的分支拉取。。。
例如,我本地有一个文件名为a.cpp,修改过的文件全部git checkout后,拉取远程仓库的文件即使有a.cpp,也不会覆盖本地的a.cpp。
所以如果想拉取一模一样的分支,最好还是新创建分支或者把原分支删除后再拉取吧。
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐