Git克隆和提交代码

本文最后更新于:2025年2月18日 下午

Git克隆和提交代码

Progit中文版书籍:https://www.progit.cn/

准备

配置

右键打开git bash,执行仓库初始化命令

1
git init #然后回车

此时会在项目存储库生成.git文件夹及其内容

设置个人信息

设置用户名:

1
git config --global user.name "Your Name"  

查看用户名:

1
git config user.name

设置邮箱:

1
git config --global user.email "email@example.com"  

查看邮箱:

1
git config user.email

查看配置信息:

1
git config --list #可查看当前用户信息以及其他的一些信息

生成SSH密钥

指定文件名生成密钥(方便查看公钥以后要用的地方),否则文件名将用默认名称

指定密钥文件名为gitee_id_rsa

1
ssh-keygen -t rsa -C 'Gitee SSH Key' -f ~/.ssh/gitee_id_rsa

指定密钥文件名为github_id_rsa

1
ssh-keygen -t rsa -C 'Github SSH Key' -f ~/.ssh/github_id_rsa

常用参数注释:

-t 加/解密算法类型(rsa、ed25519等)

-b 秘钥长度,rsa默认秘钥长度的为 2048

-C 注释,一般是填写用户名

-f 指定生成的秘钥文件名,如果不提供此参数则使用默认文件名,如rsa私钥默认文件名 ~/.ssh/id_rsa ,公钥默认文件名 ~/.ssh/id_rsa.pub


首次生成SSH密钥会有三次询问,根据需要设置,想免密推送就不设置密码

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
user@DESKTOP MINGW64 ~/Desktop
$ ssh-keygen -t rsa -C 'Gitee SSH Key' -f ~/.ssh/gitee_id_rsa
//生成一对RSA密钥
Generating public/private rsa key pair.
//密钥文件存储位置,直接回车使用默认路径
Enter file in which to save the key (/Users/user/.ssh/gitee_id_rsa):
//设置密码,若直接回车则不设置密码
Enter passphrase (empty for no passphrase):
//确认密码,和上步操作相同
Enter same passphrase again:
//文件存储位置
Your identification has been saved in /c/Users/user/.ssh/gitee_id_rsa
Your public key has been saved in /c/Users/user/.ssh/gitee_id_rsa.pub

The key fingerprint is:
SHA256:wXKzkWFbVONiEtSWPXjcjVy0oONsMYbBU59h7mlMwes Gitee SSH Key
The key's randomart image is:
+---[RSA 3072]----+
| .*++B+B =o|
| o OB.XoO o|
| . Xo+B.*.. |
| o B+.B.. |
| S +.= |
| . .E |
| |
| |
| |
+----[SHA256]-----+

user@DESKTOP MINGW64 ~/Desktop

创建config文件

进入生成的密钥文件夹,创建文件,文件名为config,没有后缀。然后添加以下内容:

1
2
3
4
5
6
7
8
9
10
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa

注:Host HostName 填写 git 服务器的域名,IdentityFile 指定私钥的路径

配置公钥到GiteeGithub

  • Gitee SSH配置地址在:个人资料的安全设置–>SSH公钥
  • Github SSH配置地址在:用户头像–>右侧边栏–>Settings–>Access–>SSH and GPG keys

查看生成的SSH公钥:

方式一:用记事本打开公钥文件,全选复制。

方式二:用gitbash查看

查看.ssh文件夹内的所有文件

1
ls ~/.ssh/

输出内容:

1
2
3
user@DESKTOP MINGW64 ~/Desktop
$ ls ~/.ssh/
config gitee_id_rsa.pub github_id_rsa.pub gitee_id_rsa github_id_rsa
  • 公钥文件为:gitee_id_rsa.pubgithub_id_rsa.pub
  • 私钥文件为:gitee_id_rsagithub_id_rsa

查看公钥内容:

1
cat ~/.ssh/gitee_id_rsa.pub

输出内容:

1
2
3
user@DESKTOP MINGW64 ~/Desktop
$ cat ~/.ssh/gitee_id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDchWfkihfqZgdV6/431en8mUN2dk5FtAJ0TkCYQJXq07nn51c9+3qNjbvxxygFDSOFIyG7nb34H2vAk8RL/drODtBPSxNhtxt/IuKSNNHF7hYt+nh8VqbNTMi9fJVEN6+bS7k7gLTY1IVDd4sUjEKw0mYzPgdHCAyubSARUYzATx2SOn9+6UAo1Iq2Ftt0OVMmoWueIe5E9nQWd8IANbrnvs9VbPYVP5fyPQez+/YT4HxGib5+hYXVEsFh/qN3JxbY3uK34mX3jJtz++ULcQPtS8w0AQWR94po6EH1TJvUWMlTOT8liGd9aebuFrZjjVibvQ6kVcApTtEDJXzeb00fqh3waNc8+vTTwpyzHXy8ictcLCbnAFHzgOJpS0tMgkof0U4p3pHrY4umQ5IHkq5aS2WDch6IHVy3mwRdzK91BAzIcNHMnVKAC528WT4KZ3ZdFjC6XxCoiwf6d8MBCxhMnMbm4i284RoQa9LYEuZtzWCcheYpTN7/knfDksrLiEE= Gitee SSH Key

测试

配置完成后回到git bash,测试配置的信息

1
2
ssh -T git@gitee.com
ssh -T git@github.com

成功后,显示如下内容:

测试gitee:

1
2
3
user@DESKTOP MINGW64 ~/Desktop
$ ssh -T git@gitee.com
Hi user! You've successfully authenticated, but GITEE.COM does not provide shell access.

测试github:

1
2
3
user@DESKTOP MINGW64 ~/Desktop
$ ssh -T git@github.com
Hi user! You've successfully authenticated, but GitHub does not provide shell access.

克隆项目到本地

先进入之前创建的项目文件夹

链接到远程库

1
git remote add origin https://git.oschina.net/xxxxxx/xxxxxx.git

克隆项目

1
git clone git@gitee.com:AprilDawn/AprilDawn.gitee.io.git

这样项目就下载到项目仓库了,现在就可以打开项目写代码了。

项目提交

当完成代码后,进入克隆的项目里。

添加文件

添加项目中新增或改动的文件到缓存

1
git add . 

注:点表示添加目录下所有文件到缓存库,如果只添加某个文件,只需把 . 换成你要添加的文件名即可;

添加注释

用以说明此次提交更改了哪些信息

1
git commit -m "新增什么功能,修复了什么BUG等等"

推送提交到远程仓库

这是默认推送到master分支

1
git push

推送到指定分支

1
git push origin 分支名
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git add .
warning: LF will be replaced by CRLF in js/scroll-numbers.js.
The file will have its original line endings in your working directory

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git commit -m "新增首页数字滚动效果"
[master a4a9167] 新增首页数字滚动效果
2 files changed, 85 insertions(+), 4 deletions(-)
create mode 100644 js/scroll-numbers.js

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git remote add origin https://gitee.com/AprilDawn/Light-Year-Admin-Using-Iframe-v5.git
error: remote origin already exists.

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git pull origin master
From gitee.com:AprilDawn/Light-Year-Admin-Using-Iframe-v5
* branch master -> FETCH_HEAD
Already up to date.

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git push
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 8 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 1.54 KiB | 789.00 KiB/s, done.
Total 5 (delta 3), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To gitee.com:AprilDawn/Light-Year-Admin-Using-Iframe-v5.git
92bce9a..a4a9167 master -> master

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git config user.name
Axovi

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git config --global user.name "AprilDawn"

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git config user.name
AprilDawn

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git config user.email
77489931+Axovi@users.noreply.github.com

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git config --global user.email "zmqpersonal@163.com"

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git config user.email
zmqpersonal@163.com

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git rebase -i HEAD~2
Stopped at a4a9167... 新增首页数字滚动效果
You can amend the commit now, with

git commit --amend

Once you are satisfied with your changes, run

git rebase --continue

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master|REBASE 2/2)
$ git commit --amend --author="AprilDawn zmqpersonal@163.com"
fatal: --author 'AprilDawn zmqpersonal@163.com' is not 'Name <email>' and matches no existing author

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master|REBASE 2/2)
$ git commit --amend --author="AprilDawn <zmqpersonal@163.com>"
[detached HEAD 1439011] 新增首页数字滚动效果
Date: Mon Oct 23 00:16:39 2023 +0800
2 files changed, 85 insertions(+), 4 deletions(-)
create mode 100644 js/scroll-numbers.js

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master|REBASE 2/2)
$ git rebase --continue
Successfully rebased and updated refs/heads/master.

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git push --force
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 8 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 1.53 KiB | 784.00 KiB/s, done.
Total 5 (delta 3), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To gitee.com:AprilDawn/Light-Year-Admin-Using-Iframe-v5.git
+ a4a9167...1439011 master -> master (forced update)

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git config user.name
AprilDawn

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git config --global user.name "四月黎明"

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git config user.name
四月黎明

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git rebase -i HEAD~1
Stopped at 1439011... 新增首页数字滚动效果
You can amend the commit now, with

git commit --amend

Once you are satisfied with your changes, run

git rebase --continue

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master|REBASE 1/1)
$ git commit --amend --author="AprilDawn^Czmqpersonal@163.com>"

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master|REBASE 1/1)
$ git commit --amend --author="四月黎明 <zmqpersonal@163.com>" [detached HEAD 2e06b8e] 新增首页数字滚动效果
Date: Mon Oct 23 00:16:39 2023 +0800
2 files changed, 85 insertions(+), 4 deletions(-)
create mode 100644 js/scroll-numbers.js

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master|REBASE 1/1)
$ git rebase --continue
Successfully rebased and updated refs/heads/master.

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$ git push --force
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 8 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 1.54 KiB | 786.00 KiB/s, done.
Total 5 (delta 3), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To gitee.com:AprilDawn/Light-Year-Admin-Using-Iframe-v5.git
+ 1439011...2e06b8e master -> master (forced update)

朱美全@DESKTOP-NHHHFLU MINGW64 /e/gitproject/Light-Year-Admin-Using-Iframe-v5 (master)
$


Git克隆和提交代码
https://superlovelace.top/2024/05/10/git使用/
作者
棱境
发布于
2024年5月10日
更新于
2025年2月18日
许可协议