idea项目同步到gitee及github

idea项目同步到gitee及github

viEcho Lv5

最近一小老弟问我怎么将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操作

执行拉取远端文件时,要合并;直接输入

1
: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怪怪的

1
2
git pull origin master --allow-unrelated-histories
#然后就会出现要你合并的操作,键入:wq!回车保存即可

合并完,然后我们再push一遍发现就ok了;

小结:好了,至此我们将上传到gitee的项目也同步上传到了github;愉快的玩耍去吧

  • Title: idea项目同步到gitee及github
  • Author: viEcho
  • Created at : 2024-01-16 12:31:26
  • Updated at : 2024-05-22 01:19:29
  • Link: https://viecho.github.io/2024/0116/push-project-to-gitee-github.html
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments