好久没有弄gitee了,基本忘记了,今天又重新弄了一次,大致流程记录如下:
1、在gitee中新建项目
因为新建项目和新建仓库时都可以指定对方,所以先建立哪个都无所谓,因为我们只是同步数据,因此只建立仓库就可以。
2、找到同步链接
有两个链接分别是 https 的地址和 ssh 的地址,两个都会用上,大家知道在哪里找就好了。
这里可以找到两个地址,分别是 https://gitee.com/xxxgroup/xxx.git 和 git@gitee.com:rxxxgroup/xxx.git
3、下载git
官网下载:https://git-scm.com/
优快云教程:可以跟随这个 https://blog.youkuaiyun.com/sishen47k/article/details/80211002 安装
4、开始本机git初始化的操作
4.1 创建ssh key
应为我是macos系统,在终端界面敲入 ssh-keygen -t rsa 三次回车即可
如果是windows要打开Git Bash,输入ssh-keygen -t rsa
看到这个界面就表示生成好了,需要到 /Users/xxx/.ssh 目录下去找 .pub文件是个文本文件,打开后就看到秘钥。
注:在macos系统中 .开头的文件或目录是隐藏的,默认看不到,需要按 COMMAND + SHIFT + . 这三个键才能显示,灰色表示隐藏的文件夹,如图:
4.2 在gitee中添加秘钥
在项目的管理页面即可添加成功,我是管理员,所以添加成功了,不知道有没有分级管理的机制。
可使用多公钥部署,方便用多台机器进行数据同步。
4.3 链接到gitee
添加远程地址,这里就用到了前面提到的那个 https 的地址,在终端或者 git Bash中键入3条命令:
这时候我的系统出错了,貌似是说本地缺少一个git的目录,需要对目录进行初始化,但解决起来很简单,在欲同步的目录键入:
git init
1)指定远程地址为:https://gitee.com/xxxxx
2)指定我本人的名字,替换命令行中 Your Name 的部分
3)指定我的邮箱,替换命令行中 you@example.com 的部分
git remote add origin https://gitee.com/xxxxx
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
4)远程链接测试
ssh -T git@gitee.com
看到这个界面就表示链接成功了
5)增加数据仓库
这里就要用到之前生成的另一个GIT的地址了,同样是替换YourUserName/YourProjectName 两个位置
git remote add gitee git@gitee.com:YourUserName/YourProjectName.git
由于手头没有windows,不知道跨系统命令是否一致,考虑应该是一致的。
这时系统就会生成.git的隐藏目录,查看方法同样是 COMMAND + SHIFT + .
windows 的查看方法是在目录的菜单上点显示的配置,勾选显示所有文件,就可以了,不再赘述。
6)查看配置对应数据
git remote -v
可以显示账号和库的对应关系,由于涉及隐私,这里不再贴图。
至此配置同步的过程应该就算完成了,上面的工作只需配置一次即可。
5、文件同步操作
日常用的最多的就是同步操作了,命令如下:
git pull origin master
git add .
git commit -m "First Updata"
git push origin master
1)将远程库中的文档同步到本地,更新前必须做这一步,否则程序会拒绝执行上传操作;
2)指定需同步的目录,一般我这里都是全量,因此写 . 即可;
3)给这次上传做个备注,可修改 “”内的文字;
4)将本地代码推到远程;
至此就完成了同步,上传的全过程。
6、其它
6.1 有的时候由于在多台机器上操作等各种不可名状的原因,拉取远程数据会报错,这时可以清除本地数据,然后强制下载远程代码覆盖本地代码,执行这个操作前,请先手动备份本地代码,命令如下:
git reset --hard
git pull origin master
6.2 此处不涉及多分枝操作,以后再补充;
2020年9月27日亲测成功。
2020.11.07 补充,今天在一台新机器上做同步操作,前面的都没问题,但同步时依然要求输入用户名和密码,这时需要做个重置,输入如下两条命令:
git remote remove origin
git remote add origin git@github.com:用户名/仓库名.git
然后再同步就不用输入用户名密码了。