Git

发布composer包到packagist及其auto-update和版本管理

PHP使用composer来管理工具包,比如我最近需要一个alipay的支付宝,官方只是提供了一个写得有些乱的sdk供参考。只能自己动手了,刚好记录一下发布一个自己的composer包的一般步骤。 标准的composer.json 在自己的包根目录新建一个composer.json,信息大概是这样的: { “name”: “ducksoft/alipay-php-sdk”, “descriptio […]

在GitHub上直接更新fork的项目

在GitHub上fork了别人的项目,源库的代码更新了,我们需要更新fork仓库的代码,跟源库保持一致,当然可以采取拉到本地,再fetch再合并再push,具体操作参考: github上fork的代码保持更新并提交pull request 。 但是如果我不改代码,只是想与源库保持同步,那这个就稍显枯燥了,那有没有更简洁的办法呢? 当然有。 进入GitHub上fork的项目,会看到提示,源库有更新, […]

github上fork的代码保持更新并提交pull request

在使用别人的github程序包过程中,发现其中有些地方有问题,你fork到自己的仓库然后做相关的修改适配,然后给源仓库提交合并请求pull request,这个过程应该如何操作呢? fork代码库 在github上fork代码库,这样你的账户下就得到了一个同名的代码库 克隆你的代码库到本地 git clone git@github.com:you/some_tools.git 创建一个自己的分支 […]

Git中将一个分支的某次commit合并到另一分支

在使用git时有些场景不能使用完全合并git merge,比如开发分支是develop,生产分支是master,在develop上提交了2个commit,本打算一起上线推送到master,但零时要将前一个测试已经通过的commit提前先上线,那就需要单独合并这一个commit,这个就需要使用git cherry-pick命令来实现。 在上面这种使用场景下,先切换到develop分支,执行git l […]

使用filter-branch抹掉错误提交的大文件提交记录,彻底清理.git目录

由于不小心将大的压缩包文件放到了项目下,提交的时候又push到远程仓库去了,虽然后来我把文件删掉了重新提交,但Git周到的为你保存了每个文件的前生后世防止你哪天又要找回你删除过的文件,导致项目下的.git子目录依然存在这些大文件的提交记录,占用大量空间。 那如果我确认以后再不需要这个大文件,如果彻底从git仓库和提交记录里面删除它呢? 这时候我们就需要用到filter-branch,这个命令就可以 […]

Scroll to top