文章目录
最近一小老弟问我怎么将idea中的项目上传到gitee,他说网上看的都有坑,啊这。。。好吧,本篇文章来实践一下
操作步骤
1.gitee上新增仓库
2.idea中选择vcs,项目下生成.git 文件
vcs->import into Version control->create git repository
3.commit pom文件到本地仓库
4.push本地文件到远程仓库,并填写远程仓库地址
5.push rejected
这一步,我看很多博客都说直接执行命令git push -f origin master强制push,其实这样做有很大的风险;一定要merge哈,保持和远程仓库一致才对
6. 执行git命令
每一步操作都有说明,按操作来就好
echo@echodeMacBook-Pro test-upload % git pull #push失败是因为远程仓库有东西没有拉下来,.gitignore和LICENSE文件
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
展开对象中: 100% (4/4), 4.93 KiB | 1.23 MiB/s, 完成.
来自 https://gitee.com/viEcho/test-upload
* [新分支] master -> origin/master
当前分支没有跟踪信息。
请指定您要合并哪一个分支。
详见 git-pull(1)。
git pull <远程> <分支>
如果您想要为此分支创建跟踪信息,您可以执行:
git branch --set-upstream-to=origin/<分支> master
echo@echodeMacBook-Pro test-upload % git branch --set-upstream-to=origin/master #按提示执行此命令,表示和远端保持一致
分支 'master' 设置为跟踪 'origin/master'。
echo@echodeMacBook-Pro test-upload % git pull origin master #拉取远端主分支的文件
来自 https://gitee.com/viEcho/test-upload
* branch master -> FETCH_HEAD
提示:您有偏离的分支,需要指定如何调和它们。您可以在执行下一次
提示:pull 操作之前执行下面一条命令来抑制本消息:
提示:
提示: git config pull.rebase false # 合并
提示: git config pull.rebase true # 变基
提示: git config pull.ff only # 仅快进
提示:
提示:您可以将 "git config" 替换为 "git config --global" 以便为所有仓库设置
提示:缺省的配置项。您也可以在每次执行 pull 命令时添加 --rebase、--no-rebase,
提示:或者 --ff-only 参数覆盖缺省设置。
致命错误:需要指定如何调和偏离的分支。
echo@echodeMacBook-Pro test-upload % git config pull.rebase false #说明有文件没有同步,配置为合并
echo@echodeMacBook-Pro test-upload % git pull origin master #在拉一次,发现是历史存在的和当前本地分支新增关联前就有的
来自 https://gitee.com/viEcho/test-upload
* branch master -> FETCH_HEAD
致命错误:拒绝合并无关的历史
echo@echodeMacBook-Pro test-upload % git pull origin master --allow-unrelated-histories #表示允许没关联的文件也同步拉取
来自 https://gitee.com/viEcho/test-upload
* branch master -> FETCH_HEAD
Merge made by the 'ort' strategy.
.gitignore | 23 +++++++++++++++++++
LICENSE | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 224 insertions(+)
create mode 100644 .gitignore
create mode 100644 LICENSE
echo@echodeMacBook-Pro test-upload % git push #merge完,push 就ok了
枚举对象中: 6, 完成.
对象计数中: 100% (6/6), 完成.
使用 16 个线程进行压缩
压缩对象中: 100% (4/4), 完成.
7.merge操作
执行拉取远端文件时,要合并;直接输入
:wq! #代表确认合入并退出vim编辑模式
--------------------------------分割线---------------------------------
号外:接着以前博客,新增点内容
tips: 最近在家准备面试,整理了个人博客;也准备写点代码,之前个人本地代码都是上传到gitee上了,自从搭了梯子后访问github也不成问题了;一个想法浮现在我的脑海里,能不能即把项目上传到gitee又把项目上传到github呢?开整吧
8.在github上新建同名的工程
这里需要说明一下,github现在默认分支是main,所以新建仓库之前如果要修改默认分支为master;得去设置一下:
点击个人github头像->Settings->Repositories
,在Repository default branch中填master然后update这样新建的仓库默认就是master是默认分支了
另外在github上新建项目时,不要选择新增额外的readme,ignore,LICENSE文件,因为已经有的项目很有可能有这样的文件了,若新建了合并的时候将会有冲突。
9.idea中add remotes
然后push,选择github,然后不出意外又要出意外了;push被拒绝了
不要慌,我们push前先pull合并一下github上master的仓库,虽然新增的仓库毛也没有但就是要这样操作一下,emm怪怪的
git pull origin master --allow-unrelated-histories
#然后就会出现要你合并的操作,键入:wq!回车保存即可
合并完,然后我们再push一遍发现就ok了;
小结:好了,至此我们将上传到gitee的项目也同步上传到了github;愉快的玩耍去吧