xubeiyan 最近的时间轴更新
xubeiyan

xubeiyan

V2EX 第 78717 号会员,加入于 2014-10-27 00:36:05 +08:00
重庆观音桥某教育机构招人慎入
职场话题  •  xubeiyan  •  2022-04-21 12:04:02 PM  •  最后回复来自 stillsilly
11
Essential Phone 刷机
Android  •  xubeiyan  •  2018-09-14 09:45:02 AM  •  最后回复来自 qwertyegg
1
UX 这么好当吗,感觉我司的 UX 都不行啊
设计  •  xubeiyan  •  2018-12-12 14:06:05 PM  •  最后回复来自 kidcvs
34
UI 设计怎么才比较科学
问与答  •  xubeiyan  •  2018-02-05 17:28:05 PM  •  最后回复来自 Akiyu
5
v2ex 的管理员看看, https://v2ex.assets.uxengine.net/跪啦
全球工单系统  •  xubeiyan  •  2017-12-26 09:12:33 AM  •  最后回复来自 xubeiyan
4
xubeiyan 最近回复了
169 天前
回复了 CNM47589 创建的主题 问与答 关于索尼电视
我家索尼 xr 75x90j ,购于 2021 年 10 月,启动器自己下一个,比如 ATV launcher ,不用国行系统的启动器就什么都没有了(
169 天前
回复了 test9106 创建的主题 程序员 清晰点的卫星地图
如果只需要卫星地形图,bing 反而是最好的。天地图除了没有偏移,允许请求次数和清晰度一言难尽(就调试个程序那点请求量就能给你 403 Forbidden
184 天前
回复了 rukeypei 创建的主题 VPS 只做 frp, 推荐几个适合 vps 服务商
目前我的 frp 跑在 vultr 的美西 vps 上
196 天前
回复了 TheGooooooooooo 创建的主题 程序员 移动端的 web 页面用什么写比较好
同意楼上的 svelte 方案,svelte 配合支持 tailwind 的 ui 库,写起来也太方便了
@droppedbytech 您想想,与其去教一个 git 新手去学习 git rebase -i 这种交互式变基操作,不如直接教他用 GUI 工具快得多。你看看下面的回复,1.如果要从中间两个提交之间删怎么办?需要 rebase -i <start-commit> <end-commit> ,2.在编辑信息的时候是没法看到每个提交修改了哪个文件,除了多开 CLI 。reset 的都洗洗睡吧,不屑于和他们讨论这个问题
@yagamil 这种压扁提交的方式有很多种但用命令行来实现都不简单,使用图形界面就比较简单
这个问题那些 git 命令行最棒的人就跟没看见一样,笑死,切到需要的分支上,用 tortoisegit 查看提交记录,多选若干个提交,压扁成一个提交,完了,再看 merge 或者 rebase 到 master 分支上
怎么能不提 《 dk 怀孕百科》,这本便宜又好用
220 天前
回复了 hentailolicon 创建的主题 酷工作 github 怎么把大文件 commit 记录删除
@SimonOne 同事也是推荐我用 source tree ,但我发现竟然没有这种救我于水火的功能,就叛逃到 tortoisegit 门下了。一般多人开发的话还是要商讨有无必要做这件事,确认必须要做然后你们 git 比较熟的人来做这件事,因为这个还是挺危险的操作。顺便如果不想重新 clone ,pull 的时候加上 force 也可以强制覆盖你本地的,但为了不至于丢失原来的数据,一般推荐是重新 clone ,有什么失误也可以保留一份之前的好拯救
220 天前
回复了 hentailolicon 创建的主题 酷工作 github 怎么把大文件 commit 记录删除
@SimonOne 本质就是这样的,但 squash 还是 edit 需要你去做判断

大概是从这个回答得到的答案 https://stackoverflow.com/questions/307828/how-do-you-fix-a-bad-merge-and-replay-your-good-commits-onto-a-fixed-merge#answer-23188613

从中就可以看出 reset 并不是一个好办法,因为你需要 hard reset + rebase 。而上面的 reset 回答全部没有提到这点,说明他们连 hard reset 和 reset 区别是什么都搞不清楚,也不知到后面的 rebase 要经历怎样的苦难

我的答案大概是 Solution 4 的简化版,其中使用了 Interactive Rebase

首先,你需要从要移除的提交开始执行 interactive rebase
`git rebase -i <要移除的前一个提交>~`
当然也可以指定结束的提交,注意结束的那个提交不会被删除
`git rebase -i <要移除的提交前一个提交开始> <要移除的提交结束>`

就可以看到你的提交了,直接把不想要的那几行前面的 pick -> squash 了(默认的操作编辑器是 vim ,感受一下命令行最叼编辑器吧),但你很容易删错,因为你此时看不到到底那几个提交记录了你哪几个文件,更改提交则使用 pick -> edit
接下来保存退出(什么你连保存退出 vim 都不会那还是趁早放弃吧——)

再执行`git commit --amend`保存这次修改,最后`git rebase --continue`就完成了这次修改,再 force push 到远端就抹除了,其他人已有你那个提交最简单就是重新 clone 一个,不然还要重新 merge

其实是很复杂的,你可以随时`git log`看看变化。

简化到 GUI 上就是打开提交历史,压扁成一个提交,没了就这么简单。

这是我这么多年和 git 搏斗总结的经验,如果还是有冥顽不化的人非要 reset 那只能祝你早日被 git 气到中风
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3127 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 18ms · UTC 12:41 · PVG 20:41 · LAX 05:41 · JFK 08:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.