Hegwin.Me

疏影横斜水清浅,暗香浮动月黄昏。

Git 找回reset --hard的代码及删除的分支

How to undo a git reset hard and branch delete

人总是会犯错的。 还记得第一次使用 `git reset --hard` + `git push -f` 是在2013年初。那时候我图省事,在staging服务器上修改了点代码,就直接push到github上去了,本以为只是一个小提交,结果push了一堆无用的代码上去。怎么办呢,这时候有前辈出来告诉我,即使是push到服务器的代码依然是可以修改的,同时告诉其他同事暂时不要push代码,...

Git 合并最后若干次提交

Git Squash Last Commits

当人们在本地进行功能开发的时候,有时候完成某一部分功能就会执行一次 git commit,这样子对追溯问题比较方便。但是在一个团队中,小而多的 commits 对团队中的其他人来说并不太友好。因此,当我们最终把代码 push 到服务器上或者合并到主分支时,最好是针对一个task或者story,把零散的提交合在一起。而 `squash` 就可以帮到我们实现这个目标。 比如说我现在在 pu...

Git修改上一次提交

Git amend last commit

人非圣贤,孰能无过。有时候git commit提交代码之后会发现有遗漏的内容。这时候如果还没有push,我们可以利用 amend 比较方便地修改最后一次提交。如果只是修改提交时写的commit message,那只要在开启的编辑器中修改一下文字,然后保存关闭即可。 如果修改或者添加了文件,只需要将需要提交的内容放到stage中,然后再提交就可以了