今天研究 rebase ,merge ,在 idea 的界面执行了很多操作,一会儿 master 到 a ,一会儿 a 到 master ,结果最后发现这些操作都跑进了 A 分支里的 push 里面,我就疯了,然后 reset hard 也去不掉,这有啥办法没
1
nutting OP 我是说进入了待 push 的列表里。难道只能彻底重新 checkout 项目或者弃用这个分支?
|
2
nutting OP 知道了,在分支的 remote 列表那里,重新 checkout ,会提示 drop commit ,可以了
|
3
Mountain 2022-06-28 22:49:01 +08:00
|
4
newaccount 2022-06-29 00:01:47 +08:00 1
https://learngitbranching.js.org
看完 cherry-pick 就差不多了。能类比到对 git 历史的操作无非是摆弄树节点就够了,剩下的一通百通。IDEA 的界面在学习时别用,影响理解。熟悉之后也就不想用了,不如用命令行效率高。 |
5
ooops 2022-06-29 13:23:43 +08:00 via iPhone
新建个 repo 随便搞,学会了再在项目里面使用。另外不要慌,没 push 之前随便搞,有 reflog 兜底呢。
|
6
wcp1231 2022-06-29 14:24:56 +08:00
4 楼的建议是对的。
简单来说 Git 的历史就是单向链表,所有的分支或 tag 都是指向节点的指针。 如果理解了,那基本上是用 Git 就不会遇到任何问题。 |
7
AllenTsui 2022-06-29 15:26:56 +08:00
cherry-pick 解决你的问题
|
8
2NUT 2022-06-29 22:02:08 +08:00
git 除非你主动删什么东西
命令操作基本不会丢失数据 |