标签git下的文章

admin 发布于 01月11, 2018

git代理

昨天碰到一个问题,就是github上有一个项目,要用Go来跑,但是低版本的go还不行,一定要升级到1.9。

在用brew upgrade go的执行过程中,报了这样一个错误:

fatal: unable to access 'https://go.googlesource.com/tools.git/': Failed to connect to go.googlesource.com port 443: Operation timed out Error: Failed to download resource "go--gotools"

阅读全文 »

admin 发布于 12月20, 2016

gitbook及hook的记录

团队中有人吐槽项目文档该写在哪里?

可选择的大概是:

  • README(但要更改的话,很麻烦,假设有多个分支,在release分支上改了readme.md,然后要同步到其他分支去)
  • gitlab的wiki(但它的pages标题必须要是英文,不能中文,而且似乎没有目录层级的概念)
  • 用公司的文档平台(无奈没有markdown语法的支持)

有成员提出用gitbook,看了一下相关资料,也觉得界面挺漂亮。譬如Regular指南

阅读全文 »

admin 发布于 11月29, 2016

git之submodule

这阵子刚好有一些思考。譬如说自己在gitlab上搭了一个项目,同事要用,他该怎么使用?

  • 方式一:通过npm

即我把代码上传到npm,然后他就通过npm install。这样的方案,不利于团队合作。因为一旦某人走了,那其他人上传npm就很麻烦了。除非在npm发布的时候,指定固定的用户名和密码。所有的人发布模块都按那个来。

  • 方式二:变通的npm

即通过下面的方式:

npm install git+ssh://git@192.168.2.107:mior-corp-front/antd-css-reset.git

通过npm来安装gitlab或者github上面的地址。不好的点在于,package.json中没有,需要其他人clone下来后手动安装该模块。

  • 方式三:通过bower

前提是团队中有私有的bower库,然后通过映射gitlab地址和库名来安装。但我不确定这种方式,在更新的时候,需不需要维护version的版本号。

  • 方式四:写成模板工具

通过yo即可实现像vue-cli这样的工具。不好的点在于,需要在readme中注明,其他人通过命令来下载需要的模板文件。

  • 方式五:git submodule

  • 方式六:git subtree

下面简单地说一下方式五:git submodule。

它的常用命令是以下几条:

git submodule add git@192.168.2.107:mior-corp-front/antd-css-reset.git
git submodule update
git submodule foreach git pull [origin] [master]

第一条是在当前项目添加子模块的项目,第二条是更新子模块的项目。这里可能会涉及到多个子模块的更新。

由于我们希望别人clone下来时,也能有子模块。所以在上面add完后,要把代码push上去。

别人clone父项目,只需要写成下面的方式,就可以把子项目一起克隆下来了:

git clone git@192.168.2.107:zpu/test-submodule.git --recursive

recursive是递归的意思,记不得这个单词也没事,在后面加--r,随后控制台会列出来:

git-submodule

当然我们也可以通过下面的方式:

git submodule init
git submodule update

更多的操作请参考:使用Git Submodule管理子模块

里面提及的修改Submodule,方法简单知道一下就可以了,但不建议这样做。

如果你非要这样做也可以,步骤如下:

//比如你修改的是sub1目录下的文件
cd sub1
git status
git add .
git commit 
git push origin HEAD:分支名 //可能会有冲突,需要先pull
//再回到父目录,把引用的版本号更新上去
cd ..
git status
git add .
git commit

阅读全文 »

admin 发布于 06月23, 2016

pre-commit的一些事

今天在掘金看到一篇文章,标题为在git提交前跑npm scripts,看完之后,当时就有一种想立马实施的过程。无奈手上有项目要做,于是就拖到了晚上。

阅读全文 »