A: 你本地新增的文件(服务器上没有)
C: 文件的一个新拷贝
D: 你本地删除的文件(服务器上还在)
M: 文件的内容或者mode被修改了
R: 文件名被修改了
T: 文件的类型被修改了
U: 文件没有被合并(你需要完成合并才能进行提交)
X: 未知状态(很可能是遇到git的bug了,你可以向git提交bug report)
A: 你本地新增的文件(服务器上没有)
C: 文件的一个新拷贝
D: 你本地删除的文件(服务器上还在)
M: 文件的内容或者mode被修改了
R: 文件名被修改了
T: 文件的类型被修改了
U: 文件没有被合并(你需要完成合并才能进行提交)
X: 未知状态(很可能是遇到git的bug了,你可以向git提交bug report)
这几天想要把一个 git 仓库中已经存在的一个子文件夹独立成一个新的 git 仓库,并且保留之前关于此文件夹的所有提交历史。不过我对 git 并没有这么精通,只好上网搜索之。可能是因为我关键词抓得不准,搜了好一会儿才找到可行的方案,所以写篇博文记录一下,希望能帮到后来人。
另外,在 git 里这种掌控历史的感觉真棒(笑)
我为什么会有如本文标题所述这样的需求呢?这是因为我之前把所有为 Blessing Skin 这个程序编写的插件源码都放在一个 git repo 中了,每个子文件夹中都是一个独立的插件(因为嫌麻烦所以一股脑给塞进一个仓库里了),并且对每个子文件夹中的代码的修改最后都是在这个统一仓库中提交的。该仓库差不多长这样:
••••••一个文件有3种权限,读、写、可执行,你这个文件没有可执行权限,需要加上可执行权限。
- 终端下先 cd 切换到该文件的目录下;
- 执行命令
chmod a+x ./文件名
这样就可以打开该文件了
Gvm 是 Go 语言多版本安装及管理的一个工具,类似于 Ruby 中的 RVM,Java 中的 Jenv(国产),Python 中的 virtualenv,Nodejs 中的 Nvm;可用于方便管理 Go 的版本,它有如下几个主要特性:
尤其是前三个特性,非常实用,接下来就详细的介绍一下这款工具的安装和常用方式;
••••••最近在做微信开发,涉及到内网穿透的问题,找了一下网上 ngrok 算是最佳的在内网调试微信服务的 tunnel 工具了,但是 ngrok 免费的账号不支持自定义域名,所以萌生了自己搭建 ngrok 服务器的想法;网上也有现成的,但是世界上没有免费的午餐,要不就是收费,要不就是免费但是偶尔会出现连接失败的问题(当然大多数时间是没有问题的)。
1、必要条件