Aiur

zellux 的博客

利用 HTTPS 代理访问 GitHub

网上找了不少设置方法,终于翻出来一个可行的,和大家分享下。 1. 安装 corkscrew ArchLinux 和 Ubuntu 的源里就有,也可以从 http://www.agroman.net/corkscrew/ 下载源码编译一个。 2. 修改 ~/.ssh/config Host gitproxy User git Hostname ssh.github.com Port 443 ProxyCommand corkscrew proxy.example.com 3128 %h %p IdentityFile /home/username/.ssh/id_rsa 修改其中的 proxy.example.com 和 3128 为代理 IP 和端口,如果代理需要帐号密码,就在 ProxyCommand 这一行的最后加上密码文件,内容为*用户名:密码*。 参数 IdentitiFile 指定相应帐号的私钥文件地址。 另外 @cyfdecyf 同学指出只要把这里的 Host 改成 github.com,就可以直接用 [email protected]:user/repository 访问 GitHub 了。 3. 使用 [email protected] 访问 GitHub 例如要把 foo/bar.git 拖下来,执行 git clone [email protected]:foo/bar.git 即可。 原文地址:http://www.wetware.co.nz/blog/2010/03/cant-access-github-behind-proxy-or-firewall/ 更新: 由于 GitHub 现在支持 HTTPS 协议了,所以更简单的方法是使用 GitHub 提供的 HTTPS 地址,然后用 git config --add http. 阅读全文 →

优化 gitk 的字体显示

gitk是用Tcl/Tk写的工具,默认使用Tk 8.4,不支持抗锯齿,因此字体显示很难看。好在Tk 8.5支持了部分抗锯齿字体,修改gitk使用Tk 8.5后显示效果会好一点。 以Ubuntu为例,安装tk8.5包后,编辑/usr/bin/gitk文件,把开头调用wish的那行 exec /usr/bin/wish "$0" -- "[email protected]" 改成 exec /usr/bin/wish8.5 "$0" -- "[email protected]" 这样就能在gitk中开启抗锯齿了,虽然效果还不是很好。另外qgit也是一个不错的选择。 参考链接:http://navarra.ca/?p=44 阅读全文 →

Git 命令行自动补全

在Pro Git上看到的技巧,git的源代码包里的contrib/completion目录下有个git-completion.bash,把这个文件保存到~/.git-completion.bash,然后在.bashrc中加入一行 source ~/.git-completion.bash 这样就能在bash下用tab自动补全git命令、branch等内容了。另外Debian/Ubuntu里有个包就叫git-completion,这个包安装完成后会自动把这个补全脚本放到/etc/bash_completion.d/下,由bash-compleletion载入执行。 阅读全文 →

在 Git 中修改之前提交的内容

其实这个问题我以前在 Stackoverflow 上回答过别人(链接),不过现在自己反而忘了,还是贴在这下次查起来方便点 先用 git rebase bbc643cd^ --interactive 退回到要修改的commit的前一个点,这里 bbc643cd 就是要修改的 commit,执行后 git 会调用默认的编辑器显示该次 commit 到最新 commit 的所有记录,在这里我们把要修改的那一项的行首的 pick 改成 edit。 接下来运行 git commit --amend,使用默认编辑器修改这次 commit。 最后执行 git rebase --continue 就能提交修改后的 commit 并且返回到原来的 commit 了。 阅读全文 →

ArchLinux 下安装 git, gitosis, gitweb 服务

参考文章: [1] http://hokietux.net/blog/?p=58 [2] http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way [3] http://www.nkuttler.de/2009/04/06/git-clone-ssh-could-not-resolve-hostname/ git 很简单,直接用pacman安装即可 sudo pacman -S git gitosis gitosis是一个方便管理git仓库的工具,安装方法: 1) 从yaourt或者aur下载安装gitosis-git包 http://aur.archlinux.org/packages.php?ID=23419 2) 新建git用户 sudo useradd –system –shell /bin/sh –comment ‘git version control’–user-group –home-dir /home/git/ git 3) 将开发用户的rsa公钥导入gitosis,(没有公钥的话请先运行ssh-keygen -t rsa生成) sudo -H -u git gitosis-init < ~/.ssh/id_rsa.pub 4) 如果以上步骤没有问题,那么运行 git clone ssh://[email protected]/gitosis-admin.git 后应该就能看到gitosis-admin.git这个目录了 5) 新建项目、添加用户等操作参见[2],这里不再赘述 gitweb 事实上ArchLinux中安装的git包自带了gitweb,可以用which gitweb搜到,一般默认在/usr/share/gitweb。下面假设我的http根目录为/home/httpd 1) 将/usr/share/gitweb下的文件复制到/home/httpd/cgi-bin(其实似乎只要gitweb.cgi就够了) sudo cp -R /usr/share/gitweb /home/httpd/cgi-bin/ 2) /usr/share/gitweb下的. 阅读全文 →