最近一小老弟问我怎么将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命令
每一步操作都有说明,按操作来就好
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| 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操作
执行拉取远端文件时,要合并;直接输入

——————————–分割线———————————
号外:接着以前博客,新增点内容
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怪怪的
1 2
| git pull origin master --allow-unrelated-histories #然后就会出现要你合并的操作,键入:wq!回车保存即可
|
合并完,然后我们再push一遍发现就ok了;
小结:好了,至此我们将上传到gitee的项目也同步上传到了github;愉快的玩耍去吧