Marvin's Blog【程式人生】
Ability will never catch up with the demand for it
Home
Tags
Categories
Topics
Git
05
Oct 2020
Windows下为git的ssh连接添加代理
众所周知,用ssh的方式访问github有时候会抽疯,需要一个解决办法,比如在中间加一层socks proxy。然后我的一个额外的要求是ssh能够使用Putty的Pageant来提供密钥验证服务,避免多次输入密码。 之所以不适用Putty自身的plink,是因为没搞懂在命令行 …
24
Nov 2019
粗略了解下Git的Pathspec
git的多个命令都需要指定pathspec。本文探讨一下git的pathspec。 git的pathspec概念在gitglossay: pathspec中有说明。主要有两种格式,一种长格式和一种短格式。长格式比如::(glob,exclude)foo/bar.txt。长格式的某 …
01
Sep 2019
Windows下使用pageant为cygwin提供ssh密钥服务
如果ssh-gen生成私钥的时候设置了口令,那么每次验证的时候都需要输入口令,有点麻烦。一个办法是使用ssh-agent启动一个密钥服务,然后通过ssh-add将某个密钥加入到服务中去,这样就不需要每次输密码。但是ssh-agent的使用还是不太方便,每次都需要手动启动,然后 …
26
Jul 2018
分布式版本管理工具的内涵【三】Fossil篇
分布式版本管理工具的内涵【三】Fossil篇 前面介绍了Git和Mercurial这两款分布式版本管理工具(DVCS),这篇开始介绍Fossil是怎么实现分布式版本管理的。 再介绍一下Fossil,他是SQLite的作者Richard Hipp开发的,集版本管理以及Wiki和问题 …
24
Jun 2018
分布式版本管理工具的内涵【一】Git篇
软件开发人员一直在寻找合适的版本管理工具来管理代码。从最早的CVS到现在的Git,经过时一二十年的时间。从早起的以CVS/SVN为代表的集中式版本管理系统(CVCS or Centralized Version Control System),发展到现在 …
21
Jun 2018
Fossil:基于SQLite又用于SQLite的DVCS
今天要给大家介绍Fossil,它是一款分布式版本管理工具(DVCS)。Fossil的作者是D. Richard Hipp,你可能对他不太熟悉,但是你一定听过他的另外一个作品:SQLite。准确得说Fossil是D. Richard Hipp开发的用来管理SQLite源代码的一款版 …
07
Mar 2018
用Go语言写一个简单的Gitweb Server
Git的发行版中带了一个叫gitweb的工具,可以以web的方式来查看git仓库。但是gitweb本身是一个CGI脚本,需要一个支持CGI的Web服务器来运行它。这篇文章介绍如何用Go语言写一个简单的服务器,用来运行gitweb。 gitweb的CGI脚本一般 …
11
Feb 2018
让Git只Checkout部分文件
如果一个Git仓库很大,有成千上万的代码,要把这些代码全部checkout出来,耗时长且占空间。如果你的目的只是为了快速修改某个子目录下的一个文件,完整checkout出全部代码就显得很悲催了。所幸的是,Git支持Sparse Checkout,可以只checkout部分目录。 …
04
Feb 2015
使用Vim的目录比较插件DirDiff来显示Git改动
使用git的时候常常要用到文件比较工具,图形界面下可选的文件比较工具非常多,但是在终端下好用的就寥寥无几了。 Vim作为一款强大的文本编辑器,自带有文件比较功能。可惜Vim的文件比较功能只能用来查看文件的差异,不能对比目录。不过好在Vim有海量的扩展,有一款扩展可以弥补这个缺憾, …
11
Jul 2014
git小贴士:推送本地分支到异名远程分支
今天学习了一个小技巧,如何把改动从本地分支推送到远程仓库的一个异名分支: local_branch:remote_branch是一个所谓的,它的完整版是: 把本地分支同步到远程同名分支: 把本地分支同步到远程异名分支: 如果省略,则删除远程分支: 如果省略和,则将所有本地分支的改 …
19
Jun 2014
Linus Torvalds在Google Talk上做的git演讲
这是2007年的演讲,但是仍然值得一看。 git一直有对初学者不友好的名声,主持人一开始就调侃了一句: It was especially designed to make you feel less intelligent than you think you were. …
20
Apr 2014
git同步被amend过的远端分支
git允许我们修改一个commit的历史,并可以将修改后的历史push到远程仓库: 这种情况下,当另一个人从远程仓库pull的时候,就会出现冲突。如果你不想解决冲突,可以用万能的reset命令: 上面的命令用远程的改动来覆盖本地的改动,如果你想保存本地的改动,可以先把本地的改 …