使用 Gitee 已有几年时间,项目也传了不少。很惭愧,平时工作中版本管理更多使用 SVN,因此在 Gitee 上还是习惯用 SVN 管理。最近想逐渐把个人项目全部切换到 Git。因此,在本地按照流程尝试了一遍,参照 Gitee 帮助说明和网上的教程,过程中遇到了一些坑,最终完成了测试操作,现在把过程记录下来,以供查阅。
一、Git 安装配置
1、安装 Git
以下操作都在 Windows 10 上进行,在 Git for Windows 网站(Git for Windows 国内下载站)上下载安装包,直接安装即可。
2、配置 Git
a) 设置用户信息
1 | # 设置全局的用户名和邮箱 |
b) 查看配置信息
1 | git config --list |
二、在 Gitee 里添加自己的 SSH 公钥
1、生成公钥
a) 在终端窗口中输入命令
1 | # -t 指定要创建的密钥类型,Ed25519 的安全性在 RSA 2048 与 RSA 4096 之间,且性能较高,Gitee 官方推荐 |
b) 按照提示完成三次回车,即可生成 ssh key。第一次提示输入公钥文件名称(保持默认空值,直接回车),后两次提示输入 passphrase(私钥解锁口令,保持默认空值,直接回车;如果设置了密码,每次通过 ssh 提交时都需要输入密码,不太方便,看个人喜好),如下图:
如果上一步修改了 Key 文件名(比如本地已经有 Key 文件存在且不想被覆盖或者就是想自定义 Key 文件名),那就需要多配置一步(.ssh/config 文件),示例步骤如下:
第一步,生成 Key 文件:
1 | # -f 指定保存密钥的文件名 |
第二步:配置 .ssh/config 文件,如果 config 文件不存在,创建一个没扩展名的文本文件即可:
1 | Host gitee.com |
说明,ssh 默认读取的私钥文件是默认名字如 id_ed25519,这样在改名之后就会匹配不到文件出现各种问题,因此,需要我们在 config 配置文件里指定密钥文件名。
d) 注意,血泪教训。如果修改了 Key 文件名但没进行上一步设置 config 文件,可能会出现 ssh -T 命令正常,但是 git clone 失败,提示如下错误:
1 | F:\>git clone git@gitee.com:xinghuipeng/gittest.git |
2、本地添加私钥
a) 在终端中执行
1 | # “id_ed25519”是生成的 key 文件名,需换成自己的 |
b) 在 Windows 环境下执行,可能会遇到执行错误
1 | Error connecting to agent: No such file or directory |
c) 解决方法,以管理员身份运行 PowerShell,并依次运行下列命令,然后重新执行 ssh-add 命令
1 | Set-Service ssh-agent -StartupType Manual |
3、Gitee 添加公钥
在生成目录下找到生成的公钥(***.pub), 将内容填入 Gitee>> 设置 >> 安全设置 >>SSH 公钥;
4、确认并添加主机到本机 SSH 可信列表
a) 执行 ssh -T,并返回 Hi XXX! You’ve successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功
1 | ssh -T git@gitee.com |
b) 如果出现错误,“git@gitee.com: Permission denied (publickey)”;原因可能是少了第二步(添加私钥),导致无法成功。
三、上传项目
1、方式一,远程仓库 clone 本地
a) 先将仓库 clone 到本地,修改后再 push 到 Gitee 的仓库,一般用于已有项目;
b) 将仓库 clone 到本地
1 | # 将远程仓库克隆到本地 |
c) 修改后 push 到远程仓库
1 | # 将当前目录所有文件添加到 git 暂存区 |
2、方式二,本地新建项目 push 到 Gitee
a) 本地初始化一个仓库,设置远程仓库地址后再做 push,一般用于上传新项目;
b) 本地初始化 Git 仓库,在项目根目录下执行命令
1 | git init |
c) 关联远程仓库,git remote add
1 | git remote add origin https://gitee.com/ 用户个性地址 /HelloGitee.git |
d) 查看项目的远程仓库信息
1 | git remote -v |
e) 先拉取合并远程仓库的文件
1 | git pull origin master |
f) 提交至远程仓库
1 | git add . |
后记
- 其实通过 https 的方式(即用户名 / 密码),不需要这么麻烦的步骤,只需要第一步安装 Git,第二步使用 Git 上传即可;但是 https 的方式需要每次验证用户名 / 密码,或者通过其他工具如 IDEA、TortoiseGit 也可以更方便操作。
- 实际项目里应该都是通过工具执行 Git 操作,不需要直接写命令,各有利弊,有待进一步探索、适应,期待后面,自己有更多更好地总结。
原文链接: https://xinghuipeng.pages.dev/2022/02/26/work/version/本地项目通过Git上传至Gitee/
版权声明: 转载请注明出处.