Ben Chuanlong Du's Blog

It is never too late to learn.

Git Implementations and Bindings in Python

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

There are multiple Git implementations/bindings in Python: pygit2, Dulwich and GitPython .

Below is a simple comparison of the 3 packages.

pygit2 dulwich GitPython
Implementation bindings to libgit2 pure Python bindings …

Comparison of GitHub Tokens and Keys

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

Name Short Description Scope Permission Protocol
GitHub
SSH Key
A SSH public key All repos Read and Write SSH
GitHub
Deploy Key
A SSH public key Any repo
configures
the key …

Tips on Git Submodule

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

git submodule init
git submodule add git@github.com:dclong/docker_image_builder.git
git submodule update --recursive --remote

To remove a Git submodule.

git rm submodule

Module Already Exists in Index.

in …

Use nbdime to Diff and Merge JupyterLab Notebooks

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

nbdime is a tool for diffing and merging of Jupyter notebooks. Notice that nbdime integrates with git well.

Tips and Traps

If you install nbdime to your local directory, make sure …

Gitignore Examples

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

Tips and Traps

  1. You can ignore files in the root directory only by prefixing a pattern with /. For example, if you want to ignore the file features.txt in the root …