gpt4 book ai didi

git - 如何从 git 中已推送的分支中删除所有提交?

转载 作者:太空狗 更新时间:2023-10-29 14:40:10 25 4
gpt4 key购买 nike

与很多团队成员一起从事一个项目,我们现在正在努力完善我们的工作方式。目前所有工作都在 integration 分支中完成,该分支是几年前从 master 分支出来的。出于某种原因,大约有 600 次提交在 master 分支中完成但未 merge 到集成中,以及大约 1200 次提交在集成中完成但未 merge 到 master 分支中。所有版本都完全脱离集成分支,一年一次都没有触及主分支。我们想使用 master 分支作为我们的稳定分支,但为了这样做,我们需要 merge integration 中的所有更改并且不保留任何不同的更改在 master 中完成。

有没有令人头疼的方法从 master 分支中删除“无效”提交?或者我们应该简单地创建一个新的存储库或另一个稳定的分支离开当前的集成位置?

更新 不幸的是,非快进和远程分支删除被拒绝了,我还在等待存储库托管负责人的回复。我假设它不会那么容易改变,遗憾的是这是一家大公司。

最佳答案

如果不能远程删除,那么最简单的方法是:

git checkout integration
cp -a . ../integration-source
rm -rf ../integration-source/.git
git checkout master
mv .git ../integration-source
cd ../integration-source
git add --all
git commit -m"massive commit to make master identical with integration"
git push
cd ..
rmdir projectdirname
mv integration-source projectdirname

哒哒!

如果可以远程删除:

git push --force origin integration:master

关于git - 如何从 git 中已推送的分支中删除所有提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9725209/

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