如何使用 git 拉取部分文件
有时候需要 clone 一些仓库到本地来查看或者修改,但是对于 https://github.com/eugenp/tutorials 和 https://github.com/raycast/extensions 的仓库来说,全量下载就不是一个好选择(尤其是对国内复杂的网络环境来说),然后我发现了 git-sparse-checkout1(虽说 cargo 就有 spare checkout 但是没意识到 🤣 )
下面都来自 stackoverflow2
-
git clone --filter=blob:none --sparse %your-git-repo-url%3--filter=blob:nonewill filter out all blobs (file contents) until needed by Git--sparse告诉 git 只会疏松克隆, 如果没有--filter虽然克隆的文件都一样,但是这个.git/objects/packs文件夹明显要大
-
git sparse-checkout add %subdirectory-to-be-cloned%- 看到这个我才知道 GitHub 为啥每个文件都给路径的复制按钮,原来还有如此妙用
如何修改 author 信息
目前我开启了
Block command line pushes that expose my email功能, 所以常常会有需要修改 commit 的要求
- 按照要求设置好 private email4
- 使用
git commit --amend --reset-author --no-edit更改 - 如果是修改多个 commit, 最简单的方案就是
git rebase -i HEAD~N, 如果一直到根git rebase -i --root, 修改要改的 commit 为 edit, 然后慢慢 reset author