git 命令行爱好者,但游戏开发需要用到 Windows 电脑(自己的 mac 本性能不行、公司也是 win 台式机)
目前一直是用 WSL1 + wslgit + windows GUI 客户端(fork) 使用 git
我安装 wsl 唯一的需求几乎就是使用 git 命令行,配合 oh-my-zsh 无敌好用
我平时使用 git 的习惯是命令行 commit 、rebase 等,GUI 看历史、看 diff 、做一些命令行下不好操作的git add --patch
操作,尽管频次不多,但这个也是必须用的
最近看到一些 WSL2 的文章,但由于折腾 WSL 下的 git 已经折腾挺久的了,比较熟悉,不知道 WSL2 下的使用体验如何
特来请教一下 WSL2 的情况 git 使用体验如何~(还是很怀念 Mac OS 有原生好用的 shell 环境)
祝大家今晚 Apple 发布会看得开心呀~
1
JeromeCui 2020-10-13 22:57:15 +08:00 4
别折腾,wsl1 非常好,我用了半个月 wsl2 又撤回 wsl1 了
|
2
Jat001 2020-10-13 23:01:52 +08:00
用 git 在 winodws 下和 wsl 里有区别吗?
|
3
wangkun025 2020-10-13 23:06:09 +08:00
WSL 怎么 GUI 看历史?我一直没搞定这个问题。
|
4
Jat001 2020-10-13 23:08:44 +08:00
@wangkun025 #3 wsl 里可以访问 windows 下的磁盘啊,在 /mnt 里
|
5
lights OP @Jat001 #2
功能上当然没区别啦,只是我个人喜欢命令行,linux 环境的命令行可以安装 oh-my-zsh,体验非常好 |
6
Osk 2020-10-13 23:31:21 +08:00 1
其实这个需求用 git for windows 或者 WSL1 还算可以。
因为 WSL2 访问 Windows 的文件用的 9p 协议,9p 协议当初把我搞得要死要活的,IO 太一般了,甚至用起来感觉还不如用 SMB 。WSL2 听说 IO (指的是 /mnt/c,d,e,f )变得有点差(相比 WSL1 ) |
7
wszgrcy 2020-10-13 23:34:00 +08:00 via Android
wsl1 要是支持 docker 就完美了
|
9
brightrystal 2020-10-13 23:38:49 +08:00 via Android
wsl2 体验真的很棒,搭配 Docker 使用简直爽爆!!!
|
10
brightrystal 2020-10-13 23:39:18 +08:00 via Android
虚拟机太慢了,根本无法忍受
|
11
thedrwu 2020-10-13 23:39:50 +08:00 via Android
@Jat001 有区别啊。Windows 原生的不论开不开 core.filemode,总是需要额外操心 chmod 。
而且 ssh 不方便转发 gpg,虽然 |
12
ysc3839 2020-10-13 23:46:18 +08:00 1
我选择在 MSYS2 中安装 Git for Windows (注意不是安装 MSYS2 源里面的 git),具体方法可以看 https://github.com/git-for-windows/git/wiki/Install-inside-MSYS2-proper
同时使用 WSL1,不使用 WSL2 。 |
13
Jaron0608 2020-10-14 00:03:13 +08:00 via Android 1
wsl2 /mnt 下的代码,一个 git status 可以慢到让你怀疑人生,具体可见 issue 。建议 wsl1,要 docker 直接服务器吧
|
14
Jaron0608 2020-10-14 00:15:05 +08:00 via Android 1
另外,如果 vscode 无法完全解决你编写代码的需求,我觉得 wsl2 可以直接忽视,因为代码到底放不放在 /mnt 下,将是一个特别矛盾的抉择。放:wsl2 命令行的文件操作将极其慢,不放:ide 的 index 等过程将极其慢。
|
15
lights OP |
16
wszgrcy 2020-10-14 09:16:39 +08:00 via Android
@ysc3839 msys2 中 zsh 体验怎么样?我用 cygwin 跑起来,但是补全有问题……并且有进程泄漏的情况
|
18
lights OP @ysc3839 #12
嗨你好,我这边 WSL1 下 git 会遇到 filemode 和 eol 的问题,加上 git svn 性能很差,打算尝试一下 MSYS2 下的 git svn 性能如何 但在 MSYS2 下安装 git for windows 遇到了一些意料之外的问题 ``` 错误:无法从 wingit.blob.core.windows.net : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds 获取文件 'bash-4.4.023-1-x86_64.pkg.tar.xz' ``` 另外,也想请教一下 MSYS2 安装后,有三个启动程序 mingw32.exe mingw64.exe msys2.exe 用哪一个能获得比较高的 git for windows 的性能啊 我目前的需求是一个 3w+ commit 的 svn 仓库,我想用 git svn 命令来与它交互 原生的 git for windows 的 git svn 性能很差,自动补全不好用,而且还会闪屏 换 MSYS2 目前感觉不会闪屏、自动补全也更友好,就是不知道性能会不会好一些 |
19
ysc3839 2020-11-05 15:50:00 +08:00 via Android 1
@lights 那个错误是网络问题,大概是下载速度太慢了,包管理器主动停止了。
用 mingw64 的最快。这个问题 Git for Windows 的 wiki 有说,如果你用 msys2 的 git,fork 那些都是模拟的,性能很差。而 Git for Windows 的 git 则不完全依赖 msys2,启新进程那些好像是改用 posix_spawn 之类的在 Windows 上有原生功能对应的函数,性能会好很多。 https://github.com/git-for-windows/git/wiki/The-difference-between-MINGW-and-MSYS2 不过再怎么样性能还是跟 Git for Windows 差不多的,不会更好。 |