Git 初次提交:从 0 配置 SSH Key 到成功 push

1. 检查本地是否已有 SSH Key

ls -al ~/.ssh/

如果看到有 id_rsa、id_ed25519 或对应的 .pub 文件,说明已经有过 SSH Key。
如果没有,继续下一步生成。

2. 生成 SSH Key


推荐使用 ed25519 算法(更安全、更快):

ssh-keygen -t ed25519 -C "your_email@example.com"

如果想用 RSA 也可以:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

执行后会提示保存路径,直接回车即可(默认 ~/.ssh/id_ed25519)。
然后一路回车,直到生成完成。

3. 启动 ssh-agent 并添加私钥

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

如果你生成的是 RSA,那么就执行:

ssh-add ~/.ssh/id_rsa

4. 把公钥添加到远程仓库平台


查看公钥内容:

cat ~/.ssh/id_ed25519.pub

复制整行内容,到远程平台(比如 GitHub、GitLab、cnblogs tribe 等)的 SSH Keys 设置里添加。

5. 测试 SSH 连接


执行:

ssh -T git@tribe.cnblogs.com

如果配置正确,会输出类似:

Welcome to Git service...

如果提示 Permission denied (publickey),说明 key 没加对,要检查 .ssh/config 或公钥设置。

6. 配置 Git 远程仓库地址


查看当前远程地址:

git remote -v

如果地址不对(比如是 HTTPS),可以改为 SSH:

git remote set-url origin git@tribe.cnblogs.com:用户名/仓库名.git

7. 首次 push 代码

git add .
git commit -m "init commit"
git push --set-upstream origin main

如果前面步骤都成功,这里就能顺利把代码推送到远程仓库。

8. 额外(多钥匙管理)


如果你有多个 SSH Key,可以在 ~/.ssh/config 里写配置:

Host tribe.cnblogs.com
    HostName tribe.cnblogs.com
    User git
    IdentityFile ~/.ssh/id_ed25519

这样不同仓库可以指定不同的 key,避免冲突。

✨ 到这里,你就完成了 SSH Key 配置 + Git 初次 push 全流程。

修改最近一次 git commit 的提交信息

在使用 git 进行版本管理时,开发过程中会经常进行代码提交,但有时会因为一些问题需要对提交的信息进行修改,比如写了错别字或提交信息不准确等。

这种情况下,我们可以通过git commit --amend命令来修改之前的提交信息。这条命令会打开默认的文本编辑器,允许你修改提交信息。修改完成后保存并关闭编辑器即可。

顺便学个英语:

amend /əˈmend/ 这个单词是“修正”的意思。

git删除分支

在软件开发过程中,有时我们需要删除git上的一些分支,比如我们现要删除分支:noi18n,此时可以按以下步骤进行操作:

1、首先删除本地分支

# 如果分支已合并到其他分支(安全删除)
git branch -d noi18n

# 如果分支未合并,强制删除
git branch -D noi18n

2、如果存在远程分支,那么也需要同步删除

git push origin --delete noi18n

3、执行完了上面的删除命令后,我们需要确认一下删除是否成功,可以运行下面的命令查看被删除的分支是否还存在。

git branch -a  # 检查本地分支      
git ls-remote origin # 检查远程分支

git版本回退

在开发过程中,有时需要回退版本,此时我们可以使用git命令git revert进行回退版本。

需要注意的是,这个命令不会删除已经提交过的版本,会保留错误提交的历史记录。回退是通过生成一个反向提交来抵消之前的错误的版本。

使用方法如下:

git revert --no-commit <错误提交ID>  # 回退到旧版本

需要注意的是,如果回退的版本在多个提交之前,那么要把这些提交记录一个一个地回退,不能跳跃版本回退,例如:

git revert --no-commit C
git revert --no-commit B
git revert --no-commit A

参数--no-commit会应用变更但不自动提交,最后手动提交一次,例如:

git commit -m "revert to old version"
git push origin main

这样,我们就使用git命令完成了版本的回退。

Git 初始化与首次提交流程

初始化 Git 仓库(如果还未初始化)

git init

添加文件并进行第一次提交(如果仓库已经有文件,那么这两步可以不用执行,配置好后续信息后,直接从服务器拉取代码即可。)

git add .
git commit -m "Initial commit"

创建 main 分支(如果当前不是 main 分支)

git branch -M main

设置远程仓库(如果尚未设置)

git remote add origin <你的远程仓库地址>

使用 git pull 将远程仓库的内容拉取到本地,并合并(如果有冲突的话,你需要手动解决)

git pull origin main --rebase

推送代码到 main 分支

git push -u origin main

-u 选项表示将 main 设为默认上游分支,之后你可以直接使用 git push,Git 会自动推送到 main。

如果要推送到 master 分支,那么就把上面的 main 替换为 master 即可。

git配置用户名和邮箱

$ git config --global user.name "laowu"
$ git config --global user.email "xxxx@outlook.com"

注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的 Git 仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

让Git显示颜色,会让命令输出看起来更醒目:

$ git config --global color.ui true

让git显示颜色这个功能,我测试没有效果,如果你也没有效果,那你不是一个人。