记录一次使用git遇到的问题
使用git关联本地仓库到gitee上的远程仓库,并提交代码到远程仓库
1、创建远程仓库test
2、创建本地项目,名称为test
3、在本地项目目录下,使用git init命令,初始化git本地仓库,会在本地创建一个.git文件夹
D:\develop\idea_workspace_2020.11.14\test>git init
Initialized empty Git repository in D:/develop/idea_workspace_2020.11.14/test/.git/
4、本地仓库关联远程仓库,
git remote add origin https://gitee.com/xxx/test.git
5、拉取远程分支,git fetch
6、提交代码并推送,报错
Push to origin/master was rejected
并且拉取远程代码也会报错,是因为本地分支没有跟远程仓库的分支相关联
7、关联分支,执行命令:git branch --set-upstream-to=origin/master master
8、再次推送,报错
fatal: refusing to merge unrelated histories(拒绝合并不相关的历史)
出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接clone的方式在本地建立起远程github仓库的克隆本地仓库就不会有这问题了。
查阅了一下资料,发现可以在pull命令后紧接着使用--allow-unrelated-history
选项来解决问题(该选项可以合并两个独立启动仓库的历史)。
9、执行命令:git pull origin master --allow-unrelated-histories
报错:error: The following untracked working tree files would be overwritten by merge:
.gitignore
原因是本地项目跟远程仓库都有 .gitignore文件,有冲突
把本地的 .gitignore文件删除就行了,如果需要使用本地文件,可以先备份,以后再提交到远程仓库
10、再次执行命令:git pull origin master --allow-unrelated-histories
11、push代码到远程仓库,成功,到此,本地仓库代码与远程仓库一致,并且关联上了