子模块
开发过程中,经常会有一些通用的部分希望抽取出来做成一个公共库来提供给别的工程来使用,此时可以用git submodule解决。
1 | git submodule add <url> <path> //url为子模块的路径,path为该子模块存储的目录路径。 |
执行成功后,git status会看到项目中修改了.gitmodules,并增加了一个新文件(为刚刚添加的路径)
1 | git diff --cached //查看修改内容可以看到增加了子模块,并且新文件下为子模块的提交hash摘要 |
amend
当代码提交后,发现存在问题,想要进行修改,有以下几种方式:
- 直接修改代码,然后commit,push。 缺点是明明只是一个feature的提交,却有两个commit,不符合规范。
- 放弃本次提交,git reset回去,重新进行编写代码。 这样也很麻烦。
- 直接修改存在问题的文件,然后 git commit –amend –no-edit, 或者 git commit –amend 可以修改最后一次的提交内容
撤销创建仓库后第一次提交的 commit
git update-ref -d HEAD