git教程栏目介绍如何清除merge
:git教程一、开门见山
解决办法
法一:git reset --merge merge前的任何一次提交的hash串
注1:
如果工作区在merge之后没有任何改动,大胆的用此方法。如果工作区在merge之后有了改动,那么此方法会重置工作区的一切修改,慎用。但是会保留暂存区的改动。
注2:当MERGE_HEAD 在当前的提交上的时候 (就是当合并分支时遇到错误或者冲突,分支旁边会多出“MERGING”这个东西)git merge --abort 与此方法一样
法二:
git reset merge前的任何一次提交的hash串 git clean -n #预删除 #将预删除不想删除的文件加入.gitignore git add .gitignore git clean -f二、构造环境
约定:远程仓库 URL 使用 remote url 代替
1、模拟开发者一号
mkdir gitTest #新增文件夹gitTest cd gitTest git init git remote add origin "remote url" echo "长太息以掩涕兮, 哀民生之多艰。" > lyrics.txt #新建 lyrics.txt 并在里面写入文字 git add lyrics.txt #将 lyrics.txt加入暂存区 git commit -m "lyrics.txt from user 1" git push origin master git checkout -b dev git push origin dev:dev
2、模拟开发者二号
mkdir gitTest2 cd gitTest2 git clone "remote url" cd gitTest echo "Don't make me suffer" > Suffer.txt git add Suffer.txt git commit -m "Suffer.txt from user2" git push origin dev
3、模拟开发者一号
git checkout master git merge origin/dev #合并远程dev分支 echo "余虽好修姱以鞿羁兮, 謇朝谇而夕替。" >> lyrics.txt #修改文件 lyrics.txt echo "余虽好修姱以鞿羁兮, 謇朝谇而夕替。" > test.txt #新建test并写入内容 git add test.txt #将 test.txt 加入暂存区三、撤销 merge
开发者一号面临的情况:本地master合并了远程dev的内容,本地多了一个Suffer.txt的文件。但是发现合错了分支,要撤销刚刚的合并操作。但是本地文件又有改动。
查看当前本地文件 ls
查看工作区和版本库的区别 git diff HEAD
查看提交历史 git log --oneline --graph
验证法一
撤回 merge git reset --merge 7f811bf 或执行git reset --merge HEAD^
HEAD^此例中是7f811bf,上面提交历史可看到7f811bf就是merge前提交的hash串
查看本地文件 ls 并查看文件内容
再次查看提交记录 git log --oneline --graph
查看
工作区和暂存区的区别 git diff工作区和版本库的区别 git diff HEAD暂存区和版本库的区别 git diff --cached
最终结果: 本地文件改动都被重置了(即开发者一号merge后增加的--余虽好修姱以鞿羁兮, 謇朝谇而夕替,被删除了),但暂存区还有内容。故工作区merge 后有改动慎用
验证法二
撤回 merge git reset 7f811bf
再次查看当前本地文件 ls
再次查看提交记录 git log --oneline --graph
阶段结果:很明显可以看到,merge已经回滚了,但是本地合并过来的文件依然还在。还要将多余合并的文件(Suffer.txt)删除。
在删除之前可以先看看执行删除操作会删掉那些内容(预删除) git clean -n
注意:这里看到本地原来的文件 test.txt 也将被删除,这不是我所期望的。我只希望可以删除 meger 的文件。
将 test.txt 文件加入 .gitignore 再执行预删除
echo test.txt > .gitignore git add .gitignore git clean -n
阶段结果:可以看到将会被删除的文件只剩下 merge 的多余文件了。
执行 删除操作 git clean -f最终结果
消息,首个由Fannie Mae支持的比特币抵押贷款在美国完成,一对密歇根州的夫妇通过抵押比特币...
2 CZ:菲律宾SEC向Blockshoals授予原则性批准消息,Binance创始人CZ表示,菲律宾证券交易委员会旗下的Philifintech Innovation Office已向Blockshoal...
3 社区用户指控zachxbt出售空投代币获利,导消息,吴说获悉,社区用户指控链上侦探zachxbt出售粉丝创建并空投给其钱包的meme代币,获利约...
4 CZ:AI、战争恐惧和加密周期压制2026年市消息,币安创始人赵长鹏表示,2026年加密市场的疲软不能归咎于单一事件。他指出,资本流入...
5 以太坊价格分析:ETH稳定在$1,570附近,鲸以太坊目前交易价格在$1,570至$1,580区间,尽管市场在周末保持平静,但并未减轻对这第二大加...
6 XBIT DEX:淘汰赛阶段南非对加拿大赔率消息,XBIT DEX发文称,淘汰赛阶段的焦点比赛南非对加拿大的市场赔率为南非胜27%,加拿大胜...
7 30天内海峡将由伊朗全面监督管理伊朗外长阿拉格齐在访问伊拉克期间表示,未来30天内霍尔木兹海峡完全由伊朗控制。他说,我...
8 以军称在黎南部打死数名真主党武装人员消息,以色列国防军28日发表声明说,以军27日在黎巴嫩南部打死数名黎真主党武装人员。声明...
9 在线策略自蒸馏与做梦模拟或成大模型持消息,OneMillion_AI发文称,大语言模型在部署后面临无法持续吸收新知识的难题,现有优化技术...
10 消息称4枚飞行物击中伊朗伦格港附近地区消息,据伊朗方面28日消息,当天凌晨,伊朗南部城市伦格港附近地区被4枚飞行物击中。美军...
成都来彰科技 蜀ICP备2025134723号-1
资讯来源互联网,如有版权问题请联系管理员删除。