chatGPT:清理 master 分支的文件,并让这个分支只有一个提交
Q
我的开发工作都在 master 分支上做的,master 分支有很多的开发的时候产生的临时文件。我想清空 master 分支的历史记录。并且只保留 README.md 和 main.py
A
你可以通过以下步骤清空 master 分支的历史记录,只保留 README.md 和 main.py 文件:
步骤 1: 创建一个干净的分支
首先,确保你在 master 分支,并提交所有未保存的工作。
git checkout master
git add .
git commit -m "Save all work before cleaning history"
步骤 2: 创建一个新的空分支
接下来,创建一个新的空分支来开始清理历史。
git checkout --orphan clean-branch
--orphan 创建一个没有历史记录的分支。
步骤 3: 移除所有文件并保留需要的文件
现在删除所有文件,但保留 README.md 和 main.py。
git rm -rf .
git checkout master -- README.md main.py
这会删除项目中的所有文件,然后从 master 分支中恢复 README.md 和 main.py。
步骤 4: 提交新的分支
然后提交这些更改。
git add README.md main.py
git commit -m "Clean history, only keep README.md and main.py"
步骤 5: 强制更新 master 分支
接下来,将这个新的干净分支强制推送到 master 分支,替换它的历史记录。
git checkout master
git reset --hard clean-branch
git branch -D clean-branch
步骤 6: 强制推送到远程仓库
如果你需要将清理后的 master 分支推送到远程仓库,你需要使用 --force 参数。
git push origin master --force
这样,历史记录将被清空,只保留 README.md 和 main.py 文件。
注意
- 强制推送会影响其他开发人员的本地仓库,他们可能需要重新克隆项目。
- 请谨慎使用,因为一旦推送到远程仓库,历史记录将无法恢复。
chatGPT:清理 master 分支的文件,并让这个分支只有一个提交的更多相关文章
- git从其他分支提取文件merge到当前分支
git checkout A -- [a.go b.go]将A分支中的a.go, b.go两文件合并到当前分支注意:会将当前分支的对应文件强行覆盖
- git---怎样将分支上的一个单文件合并到主分支上(master)
一.首先切换到主分支 注意将分支上的数据全部提交 以免造成数据冲突或丢失 git checkeout master 二.选择要合并的文件 git checkout --patch 分支名称 要合并 ...
- 在dev分支上修改了文件,但是并没有执行git add. 和git commit命令,然后切换到master分支,仍然能看到dev分支的改动现象
当我们创建一个新的分支dev,并且在新分支上修改了原文件,在我们没有提交到仓库的前提下,将分支再切换到master分支上,执行git status ,可以看到dev操作的状态: (1)因为未add的内 ...
- git合并指定文件到另一分支
经常被问到如何从一个分支合并特定的文件到另一个分支.其实,只合并你需要的那些commits,不需要的commits就不合并进去了. 合并某个分支上的单个commit 首先,用git log或sourc ...
- 使用WICleanup清理Windows Installer 冗余文件
使用WICleanup清理Windows Installer 冗余文件 | 浏览:816 | 更新:2015-11-02 10:43 | 标签:Win7 Win10 1 2 3 4 5 6 7 分步阅 ...
- SaltStack 模块学习之拷贝master服务器上文件和目录到minion服务器
一. cp.get_file实现从master端复制文件到minion服务器的文件中cp.get_file 1. 修改/etc/salt/master ,指定server 工作的根目录 file- ...
- git 将master分支合到自己的开发分支
背景: 一般开发自己的分支都是从最新的master上拉取,但中间master会有改动,此时需要将最新的master合到自己的分支中 命令: 1. 查看当前的分支,星号标识为当前分支:(如果查询结果有m ...
- git 如何把master分支代码合并到自己的分支
master分支的代码领先自己的分支,git 如何把master分支代码合并到自己的分支 1.首先切换到主分支 git checkout master 2.使用git pull 把领先的主分支代码pu ...
- git push -u origin master和git push <远程主机名> <本地分支名>:<远程分支名>作用
git push git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相仿. $ git push <远程主机名> <本地分支名>:< ...
- eclipse git 文件状态 及git分支的创建与合并与删除
eclipse里面Git文件状态及图标展示 EGit会出现如下图标,其对应状态及意义如下: 1)忽略[ ignored ]:仓库认为该文件不存在(如bin目录,不需要关注).通过右键Te ...
随机推荐
- Maven配置多仓库
一.配置说明 <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="htt ...
- flutter-延时执行
//1秒后这个i行 Future.delayed(Duration(milliseconds: 1000), () { //代码省略 });
- 实战AI大模型辅助编程:新安江水文模型和SCE-UA优化算法的移植与实现
新安江水文模型与 SCE-UA 优化算法是水文学和水资源管理领域的重要工具,二者结合使用可以有效模拟流域的水文过程并优化模型参数. 新安江水文模型是一种概念性水文模型,主要用于模拟流域的降雨-径流关系 ...
- 科研界DeepSeek+AI应用协作攻略来了!
自从DeepSeek爆火 AI应用届开启"精英集结" 与DeepSeek携手撑起国产AI一片天 比如,DeepSeek+Midjourney 成为设计师的好帮手 DeepSeek+ ...
- DeepSeek本地部署
一.ollama ollama是一个管理和运行所有大模型.开源大模型的平台.在官网的Models中可以看到deepseek-r1的AI模型 1.在官网中下载对应系统的ollama,下载时需要开墙,或者 ...
- Linux Vim 最全面教程:从入门到精通
一.引言 Vim 是一款功能强大且在 Linux 系统中广泛使用的文本编辑器.它有着高效的编辑模式.丰富的快捷键以及众多强大的功能,对于想要深入学习 Linux 系统操作以及进行文本处理相关工作的新手 ...
- Linux - openssh通过源码build rpm包
# 安装依赖包 yum install --downloadonly --downloaddir=/home/rpm-install rpm-build gcc gcc-c++ glibc glibc ...
- Qt修改exe文件图标
修改Qt生成exe的图标以及软件标题图标 目录 修改Qt生成exe的图标以及软件标题图标 简介 QtCreator下添加exe图标 直接添加.ico 通过.rc文件修改 Visual Studio下添 ...
- 微信小程序反编译~2022年
小程序反编译 前言 微信小程序反编译可以通过对小程序包进行反编来获取小程序源码,在一次信息收集的过程中对某公司的APP.微信公众号.小程序进行抓包数据分析寻找接口等有用的信息时,在抓包过程中由于微信的 ...
- Ansible创建逻辑卷
环境: 受控主机清单文件: [dev] 192.168.10.129 [all:vars] ansible_ssh_user=root ansible_ssh_pass=123 磁盘: 受控主机需要存 ...