git小记

这是我参与更文挑战的第11天,活动详情查看: 更文挑战

前言

本文将介绍一些git操作指令

1.删除本地分支报错

直接当前分支在feature-echarts时去删除feature-echarts,结果报错

image.png

git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks branch -d feature-echarts
error: Cannot delete branch 'feature-echarts' checked out at 'C:/GitCode/WayOnSpringBoot'
Completed with errors, see above.
复制代码

需要先切换到其他分支上才能删除当前分支。

2.删除远程分支

git中分支,点击下图中跳转到分支管理页面

image.png

直接用命令行删除
先检查远端都有什么分支

git branch -a
复制代码

删除

git push origin --delete feature-666
复制代码

如果分支太多进入了编辑状态
输入eq就能退出

3.Merge 中途放弃

You have not concluded your merge (MERGE_HEAD exists).
merge的时候不想merge了,代码冲突实在是太多了,这个时候想要放弃,重新拉取,却发现报错无法pull了
可以放弃本地修改,

$ git reset --hard

HEAD is now at d4222ae 
复制代码

这时候就对本地的状态进行硬重置了,所有的更改都会被丢弃无法找回,执行之前一定要确定是不是要丢弃本地文件!!!

4.查找被忽略文件都有哪些

有的时候gitignore里面被填了一些规则,导致文件被忽略了,如何检查出来
比如gitignore文件中被误添加了一个src这个条件,这个会导致所有新加的文件找不到
那么如何确定新加的文件是被忽略了呢
使用命令(git的1.7.6版本之后)

git status --ignored
复制代码

可以看见所有被忽略的文件

可以看到我们新增加的testDemo这个文件被忽略了,其他之前在添加gitignore这条规则之前的src下面的文件仍然会被跟踪
也可以用git check-ignore 全路径文件名

5.git 提交的准备push的回滚到跟远端test一致

git reset --hard origin/test
复制代码

6. git 报 refusing to merge unrelated histories

  git pull origin master后面跟上参数–allow-unrelated-histories

7.在test上进行了revert之后,dev上对相关的文件的修改无法推送到test

这个应该将test先merge到dev上,保证了两边的代码一致后,再将对应的revert重新revert回去

8. 本地的已经commit,但没有push,将之撤回

直接选择要撤回的commit之前的commit,reset

选择soft即可,这跟前面的hard的区别是不会将本地的暂存区的数据丢弃!!
用命令就是

git reset --soft origin/test
复制代码

9.一次revert多个提交

git -n revert 65616527d^..74ed3c768
复制代码

将开始和结束的commit 放入即可。
加上-n参数可以将多个提交一个revert就提交过去,如果不加-n参数,就会将这几个提交逐个revert回去,有几个提交就会有几个revert

总结

今天我们讲解了一些git命令,敬请期待明天的文章,下篇再见!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享