总是记不住命令,每次都要搜索。自己记录一下,方便查找。
git reset
将本地仓库恢复至指定 commit 的状态。 commit 记录和文件都会丢失。
| |
将本地仓库恢复到 git add 之前的状态。
修改的内容会保留在工作区中。
恢复到 git commit 之前(即 git add 之后)的状态。
即修改的内容被暂存,但未提交。
| |
git pull
从远程获取分支,并且与本地分支合并
简单来说,git pull 相当于 git fetch + git merge
(实际上有差别)。
以下两个命令等效(默认设置下),拉取 origin 并合并
拉取远程仓库的 main 分支,并与当前分支合并
| |
拉取远程仓库的 main 分支,并与本地的 dev 分支合并
| |
git remote
管理远程分支
添加一个名为 uptream 的远程分支
| |
将名为 uptream 的远程分支改名为 down
| |
删除名为 down 的远程分支
| |
git submodule
删除子模块
网上很多文章写的 要删除这个文件、编辑那个文件,把步骤搞得很复杂。 其实并不需要,实际上只需要三步。
取消注册子模块
1git submodule deinit submodulePath此时,子模块从你的工作区以及
.git/config中移除了,并未从配置中移除。 此时可以通过git submodule init,git submodule update重新加载子模块.从工作区和暂存区删除子模块
1git rm -r submodulePath此命令会同步删除
.gitmodules内的相应内容.删除
.git/modules/内的相应内容
增加子模块
| |
这时会增加子模块的配置,以及克隆子模块到本地。
加载子模块
克隆父仓库时是不会加载子模块的,一般需要手动加载。
更新子模块
当子模块有更新,需要更新时,可以进入子模块目录中,手动 git pull 拉去更新。
或者,git submodule foreach 为所有子模块执行命令。
| |
编辑子模块
子模块实际上就是一个完整的仓库。进入子模块的目录,按照正常流程操作即可。