gpt4 book ai didi

git - 使当前提交成为 Git 存储库中唯一的(初始)提交?

转载 作者:IT王子 更新时间:2023-10-29 01:09:10 26 4
gpt4 key购买 nike

我目前有一个本地 Git 存储库,我将其推送到 Github 存储库。

本地存储库有大约 10 次提交,Github 存储库是它的同步副本。

我想做的是从本地 Git 存储库中删除所有版本历史记录,因此存储库的当前内容显示为唯一提交(因此不存储存储库中文件的旧版本)。

然后我想将这些更改推送到 Github。

我研究了 Git rebase,但这似乎更适合删除特定版本。另一种可能的解决方案是删除本地存储库,然后创建一个新存储库 - 尽管这可能会产生大量工作!

预计到达时间:有一些特定的目录/文件未被跟踪 - 如果可能的话,我想保持这些文件的未跟踪状态。

最佳答案

这是蛮力方法。它还会删除存储库的配置。

注意:如果存储库有子模块,这将不起作用!如果你正在使用子模块,你应该使用例如interactive rebase

第 1 步:删除所有历史记录(确保您有备份,这无法还原)

cat .git/config  # save your <github-uri> somewhere
rm -rf .git

第 2 步:仅使用当前内容重建 Git 存储库

如果您还没有设置 init.defaultBranch,则在第 2 步之前然后配置,请通过git config --global init.defaultBranch <branch-name>进行你可以选择main作为<branch-name>在当前示例中

git init
git add .
git commit -m "Initial commit"

第 3 步:推送到 GitHub。

git remote add origin <github-uri>
git push -u --force origin main

关于git - 使当前提交成为 Git 存储库中唯一的(初始)提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9683279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com