#将本地与远程仓库回退到某一 commit
-
查看回退目标 commit 的id
$ git log
-
回退到之前的版本
$ git reset --hard <COMMIT_ID>
-
覆盖远程仓库的版本,需要加上参数
--force
$ git push origin <BRANCH_NAME> --force
#按需拉取(Clone)内容
在给某些大型仓库提 PR 时,往往 clone 就花了很长时间而且占据极大空间,但我们只是想要给它增加一个文件夹的内容而已,比如存放各种 @types/xxx
的 DefinitelyTyped 和 Raycast 的插件仓库。这时候就可以使用 git 的 sparse-checkout 和 partial clone 功能,步骤如下:
- clone 时加上
--filter=blob:none
用于不自动 clone 文件
$ git clone --filter=blob:none --no-checkout <REMOTE_URL>
- 进入项目,初始化 sparse-checkout
$ cd ./example
$ git sparse-checkou set --cone
- 切换到某个分支 以 master 为例
$ git checkout master
- 拉取指定的文件夹
$ git sparse-checkout set path/to