在使用 git 时的一些尴尬场景里的修复方案

2022-06-25 21:24:59 +08:00
 Livid
https://ohshitgit.com

还有一个简体中文的翻译版本:

https://ohshitgit.com/zh
7377 次点击
所在节点    git
35 条回复
hsfzxjy
2022-06-25 21:36:18 +08:00
最后一个太真实了,当年不怎么会 git 时就这样
vision1900
2022-06-25 22:01:36 +08:00
The best code is not code at all.

The best loading is no loading at all.

The best VCS is?
lzgshsj
2022-06-25 23:15:02 +08:00
哈哈,那个全删了然后重新 clone 的人就是当年的我了
lifanxi
2022-06-25 23:27:01 +08:00
场景还不够丰富,都是偏简单的。如果有复杂的场景,可以参考: http://sethrobertson.github.io/GitFixUm/fixup.html
ClericPy
2022-06-25 23:33:32 +08:00
几乎全是日常禁止使用的... 够骚, 不愧是站长
MichealXie
2022-06-25 23:53:25 +08:00
重新克隆的好像可以直接用 git clean -fdx?
@lzgshsj
christin
2022-06-26 00:10:48 +08:00
LeeReamond
2022-06-26 01:35:41 +08:00
很多 git 使用上的问题不如说本来就是 git 设计上的缺陷吧,就像 reset hard 名字这么叫,但功能上并不是真正的 reset 。另外虽然命令行很好,但在桌面时代 GUI 支持也不佳,到现在还是那个 win2003 年画风的界面
msg7086
2022-06-26 03:31:57 +08:00
@LeeReamond 简而言之就是 git 的 cli api 设计得谢特一样,一个命令对应一堆功能,仅仅参数变化就会造成不同的行为(比如臭名昭著的 checkout )。不止一个人骂过了,但是 cli api 被依赖太多又不可能推倒重来……
LeeReamond
2022-06-26 07:31:29 +08:00
@msg7086 你一总结感觉确实是这样。印象里 git 不是 linus 为了合并代码搞出来的么,印象里这是个代码很优雅的人物,怎么搞出来个这样的设计
TravisMtg
2022-06-26 07:43:49 +08:00
这网站还有低情商高情商俩版本😂
leavic
2022-06-26 09:51:17 +08:00
cd ..
sudo rm -r fucking-git-repo-dir
git clone https://some.github.url/fucking-git-repo-dir.git
cd fucking-git-repo-dir

=======================
这不就是我现在的操作吗。。。。。
JaguarJack
2022-06-26 10:06:16 +08:00
@LeeReamond 也许他喜欢,而使用的并不喜欢
Buges
2022-06-26 10:16:37 +08:00
@leavic #12 没错,搞坏了还是这样最方便。还有一个对于本地库(如不小心 commit 了 sceret ),最直接的办法是 rm -rf .git && git init && git add . && git commit -m "init" 直接整个重置
Rekkles
2022-06-26 10:30:43 +08:00
🙄 我一直以为是我太菜了才会出现这些问题
vivipure
2022-06-26 12:38:34 +08:00
git commit --amend 的确好用。我之前都是 git reset --soft ,然后重新提交的
AloneHero
2022-06-26 14:31:12 +08:00
就想知道 vscode 怎么用 worktree ,每次不想提交但又需要切换分支的时候巨麻烦
realpg
2022-06-26 15:09:40 +08:00
@lzgshsj #3
现在我精通 git 了,有时候懒也不会用 git 自带的机制操作
跟 IDE 整合,commit 错了,正常就得敲命令了,我直接改回去再覆盖 commit 就不用命令行了
fwindcore
2022-06-26 15:20:54 +08:00
还缺少一个提交了一大堆才意识到忘记切换账号,把公司邮箱提交到开源项目里了。

以前是用 filter-branch ,但是现在似乎推荐使用 filter-repo 了。不过都不太方便,参数太多,还不如写个 shell function 切换。
MMMMMMMMMMMMMMMM
2022-06-26 16:09:24 +08:00
遇事不决加 --force

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/862191

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX