xiaobaice 发表于 2024-5-23 10:43

Git使用方法-删除github中的提交历史记录

# 安装Git
在Windows上使用Git,可以从Git官网直接[下载安装程序](https://git-scm.com/downloads),然后按默认选项安装即可。
# 配置Git
## 1.查看当前User和Email配置
```bash
git config --local --list
git config --list
```
## 2.设置用户名和邮箱
```bash
git config --global user.name "username"
git config --global user.emailuseremail@qq.com
```
## 3.检查是否配置成功
```bash
完成前两步后,可以用下面的命令检查是否配置成功:
git config --global--list
```
## 4.生成 SSH 密钥
输入
```bash
ssh-keygen -t ed25519 -C "邮箱"
```
显示
```
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/YOU/.ssh/id_ed25519):
Created directory '/c/Users/YOU/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
```
**输入生成密钥路径,可以接受默认的文件位置,也可以指定一个不同的位置。您在指定路径时提供的应该是一个文件名,而不是一个目录名。例如 “C:\Users\YOU\1234”。这样,ssh-keygen 将会在指定的目录中创建一个名为“1234” 的文件来保存您的私钥,并创建一个名为 “1234.pub” 的文件来保存您的公钥。
然后输入一个密码(passphrase),这是可选的,但建议为了安全性添加一个密码。**

## 5.将SSH私钥添加到 ssh-agent
在后台启动 ssh-agent:
```bash
eval $(ssh-agent -s)
```
将SSH私钥添加到 ssh-agent:
```bash
ssh-add c:/Users/YOU/.ssh/id_ed25519
```
## 6.上传 SSH 公钥
复制SSH公钥:
```bash
clip < /c/Users/chenjs/.ssh/id_rsa.pub
```
**Gitee:**点击导航栏右上角头像,选择「设置」,然后在侧边栏菜单选择「SSH 公钥」,填入上一步保存的公钥内容并保存确认。
**GitHub:**点击导航栏右上角头像,选择「Settings」,然后在侧边栏菜单选择「SSH and GPG keys」,填入上一步保存的公钥内容并保存确认。
## 7.测试连接
```bash
ssh -T git@github.com
```
**输入后显示:**
```
The authenticity of host 'github.com (ip)' can't be established.
ED25519 key fingerprint is SHA256:****.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/)? yes
```
**输入yes后显示:**
```
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
Hi 用户名! You've successfully authenticated, but GitHub does not provide shell access.
```
如果提示中的用户名是你的,说明SSH key已经配置成功。


# 删除提交历史记录
```bash
##`初始化一个新的 Git 仓库`
git init
## `添加远程仓库`
git remote add origin git@github.com:用户/仓库名
## `切换到您的本地仓库目录`
cd 仓库名
## `切换到一个脱离主分支的另外一条全新主分支
git checkout --orphan latest_branch
## `暂存所有改动过的文件,内容为当前旧分支的最新版本所有文件`
git add -A
## `提交更改`
git commit -am "commit message"
## `删除原始主分支`
git branch -D main
## `将当前分支重命名为 main`
git branch -m main
## `最后,强制更新您的存储库`
git push -f origin main
```

Vvvvvoid 发表于 2024-5-23 11:01

1. reset 到指定 commit
2.push -f

三滑稽甲苯 发表于 2024-5-23 11:58

只撤销提交没必要新建分支,直接 reset 到想要的 commit 然后 force push 就好了

kittylang 发表于 2024-5-23 16:41

本帖最后由 kittylang 于 2024-5-23 16:53 编辑

Vvvvvoid 发表于 2024-5-23 11:01
1. reset 到指定 commit
2.push -f
看楼主的操作并不是reset某条或某些,而是所有提交记录。(虽然确实可以reset
页: [1]
查看完整版本: Git使用方法-删除github中的提交历史记录