1. 首先在gitee上创建一个名为gitxx的仓库,这里其实已经创建过gitxx仓库了
2. 给gitee上配置公约 (后面有讲如何配置在gitee上配置公约)
3. git 全局配置
git config --global user.name "xxxx"
git config --global user.email "xxx@qq.com"
4. 在本地创建对应的本地仓库
zfz:Gitlearn zhangfengzhou$ ls
gitlearn_bob gitlearn_lily practise rebase_onto
zfz:Gitlearn zhangfengzhou$ mkdir gitxx
zfz:Gitlearn zhangfengzhou$ cd gitxx
zfz:gitxx zhangfengzhou$ git init
Initialized empty Git repository in /Users/zhangfengzhou/GitHub/MutilUserGit/Gitlearn/gitxx/.git/
zfz:gitxx zhangfengzhou$ touch README.md
zfz:gitxx zhangfengzhou$ git add README.md
zfz:gitxx zhangfengzhou$ git commit -m "first commit"
[master (root-commit) cf03086] first commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
4. 推送本地仓库到远程仓库中
$ git remote add origin git@gitee.com:happiness365/gitxx.git #关联远程仓库
$ git push -u origin master
zfz:gitxx zhangfengzhou$ git remote add origin git@gitee.com:happiness365/gitxx.git
zfz:gitxx zhangfengzhou$ git push -u origin master
Enter passphrase for key '/Users/zhangfengzhou/.ssh/id_ed25519':
Access denied: 404 not found!
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
zfz:gitxx zhangfengzhou$ git push -u origin master
Enter passphrase for key '/Users/zhangfengzhou/.ssh/id_ed25519':
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 209 bytes | 209.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.1]
To gitee.com:happiness365/gitxx.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
如上所示,在第一次推送的时候,如果没有推送成功,是失败的,那么原因就是没有创建远程仓库 。
5. 配置公钥 (如何配置公钥)
在实际操作中,发现通过https方式进行代码管理总是失败,后来通过ssh方式成功了。
# 生成SSH-KEY
$ ssh-keygen -t ed25519 -C "1120335370@qq.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/zhangfengzhou/.ssh/id_ed25519): id_ed25519
# 注意记住这里的passphrase,后面每次提交远程仓库都会用到
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_ed25519.
Your public key has been saved in id_ed25519.pub.
The key fingerprint is:
SHA256:ooeEsoVLYM4X3e29gYOkQZs9rmblRBxdurnM1Zj9aik 1120335370@qq.com
The key's randomart image is:
+--[ED25519 256]--+
| . .. .. |
| o * o.. |
|.. . = B o |
|=. .. * + = = |
|o+o....=S* * o |
|.=.. o=.o + o . |
|o o+.. + . .. |
| o. E o. |
| o. |
+----[SHA256]-----+
$ cd /Users/zhangfengzhou/.ssh/
$ ls
id_ed25519 id_ed25519.pub id_rsa id_rsa.pub known_hosts known_hosts.old
$ ls -l
total 48
-rw------- 1 zhangfengzhou staff 464 8 27 19:24 id_ed25519
-rw-r--r-- 1 zhangfengzhou staff 99 8 27 19:24 id_ed25519.pub
-rw------- 1 zhangfengzhou staff 1823 5 27 2020 id_rsa
-rw-r--r--@ 1 zhangfengzhou staff 399 5 27 2020 id_rsa.pub
-rw------- 1 zhangfengzhou staff 3093 8 27 12:58 known_hosts
-rw-r--r-- 1 zhangfengzhou staff 362 6 11 2020 known_hosts.old
$ cat id_ed25519.pub # 查看公钥,并配置到gitee中
ssh-ed25519 AAAx345ACCD3NzaC1lZDI1NTE5AAAAIB7vIyDWks8vAAJ60bLGb1gbQ+6fKE4XJSHNRu+Xy5nh 1120335370@qq.com
zfz:.ssh zhangfengzhou$ cat id_ed25519 # 查看SSH私钥
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABCboeAJD3
DbGk47H/Yk4jY7AAAAEAAAAAEAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIB7vIyDWks8vAAJ6
0bLGb1gbQ+6fKE4XJSHNRu+Xy5nhAAAAoMTUIjJkHb+JCkeNEKYFf/3yE6MB/WOfxnDg5/c/uVF
sqjezCIfAeGQYdIHeHmMb8El+w3p1O0cExBhKDt169/NfKCAjqdaTSjRgnyUAShC1Ho7kx
94HWmX4YGyj6hT/E3CIhdBOlcphJtZC9jMS9rfFCGqKGAJEEd+qBehUd4C77u+fhF35Rtj
qRmi4NG81ulpaRr0Al2ibuZO6qbbPacL9REio=xxxxxxxxxxxxxxxxxxxx
-----END OPENSSH PRIVATE KEY-----
6. 验证是否配置正确
$ ssh -T git@gitee.com # 在此处设置在前面生成ssh key的时候的密码 passphrase
The authenticity of host 'gitee.com (212.64.62.183)' can't be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitee.com,212.64.62.183' (ECDSA) to the list of known hosts.
Enter passphrase for key '/Users/zhangfengzhou/.ssh/id_ed25519':
Hi zhangfengzhou! You've successfully authenticated, but GITEE.COM does not provide shell access.