Git附加项
设置和取消Shadowsocks代理
1 | //设置代理 |
用Git当SVN客户端
下载代码
1
git svn clone svn://svn地址/项目名 -s
Git 必须一次一个地检出一个版本同时单独地提交它。对于有成百上千个提交的项目,这真的可能会花费几小时甚至几天来完成。
-T trunk -b branches -t tags 部分告诉 Git Subversion 仓库遵循基本的分支与标签。可以能用 -s 来替代整个这部分,这表示标准布局并且指代所有那些选项。
若本地已有更改,此时想更新服务器上的代码到本地,可以使用git stash
然后再从svn服务器同步下载
1
git svn rebase
如果rebase之前是用stash的话,再使用git stash apply (或 git stash pop 恢复并删除暂存)
若之前clone下来的svn项目,后来新增了一些分支和tag,此时用git branch -a查看时,这些新增的分支是没有被同步下来的,需要用git svn fetch --all
Git别名
1 | $ git config --global alias.co checkout |
当要输入 git commit
时,只需要输入 git ci
。
为了解决取消暂存文件的易用性问题,可以向 Git 中添加你自己的取消暂存别名:
1 | $ git config --global alias.unstage 'reset HEAD --' |
这会使下面的两个命令等价:
1 | $ git unstage fileA |
Git暂时忽略文件修改
当你修改一个巨大的文件的时候,每次保存一次Git都要计算文件的变化并且更新工作区,当磁盘速度慢的时候延迟卡顿非常大,这个时候就可以先对文件进行git update-index --assume-unchanged <PATH>
操作,这样Git就暂时不会计算你对文件所做的修改。当你的工作已经完成可以进行提交的时候,重置标识为git update-index --no-assume-unchanged <PATH>
,此时Git只需要进行一次的更新。相较于每次保存都计算一次更新而言,这显然是可以接受的。
Git首次提交
1 | $ git init |