本文发布于451天前,本文最后更新于441 天前,其中的信息可能已经过时,如有错误请留言或评论。
好吧首先承认我确实不怎么会用git,要准备考研,所以在学c语言基础,打算把在oj上练习的c语言题放到github上,结果在Clion里面搞了半天,不知道怎么弄,还是没正好,所以就百度搜了一下,终于正好了。参考文章里面是两个方法,但是我的代码已经在Clion的项目里面了,所以第一个方法好像不太好搞,所以我用的是第二种。
强行合并两个仓库
前置
- 先将本地的项目初始化为一个git仓库,然后再强行合并本地仓库和远程仓库
- 由于这两个仓库是完全不同的两个仓库,所以直接pull都会报错
- 需要在pull的时候假加上–allow-unrelated-histories才可以pull成功(关键)
- 此方法适用于本地项目已经是一个git仓库的情况。
具体步骤
- 新建git仓库,将本地项目设置为一个git仓库。如果本地项目已经是一个git仓库了,请跳过这一步。在项目根目录下:
git init
- 添加所有文件到暂存区:
git add .
- 提交暂存区中的内容到本地仓库 -m "消息内容" 提交信息:
git commit -m "push current files"
- 将本地仓库与远程仓库关联起来:
git remote add origin git@github.com:6SuYou9/25_WangDao_OJ.git
- pull远程仓库的内容,更新本地仓库,使用–allow-unrelated-histories忽略本地仓库和远程仓库的无关性,强行合并(关键):
git pull origin main --allow-unrelated-histories
这里的分支注意修改,你的是main就是mian,如果是master就是master
- 把本地仓库的main分支内容push到远程仓库(也可以自己选择要推送的分支):
git push -u origin main
- 若在这里报错
src refspec main does not match any
通常意味着你尝试推送的分支(在这个例子中是main
)在你的本地仓库中不存在。这可能是因为你在一个不同的分支上工作,或者你还没有创建main
分支。 - 检查当前分支:首先,你可以使用以下命令来查看你当前所在的分支。确保你在正确的分支上。
git branch
- 创建并切换到 main 分支:如果你还没有
main
分支,你可以创建并切换到这个分支。git checkout -b main
- 再次尝试推送:在
main
分支上,你可以再次尝试推送你的更改。git push -u origin main
-
检查远程分支:你也可以使用以下命令来查看远程仓库中的所有分支,确保
main
分支确实存在于远程仓库中。git branch -r
- 若在这里报错
然后其他一些关于git的基本操作就见关于Git
参考
参考文章:https://blog.csdn.net/u014723137/article/details/134514475