首次 Clone 的时候带着 Submodule 一起

1
git clone --recursive 仓库地址

记住 Git 凭证

1
2
3
4
5
6
# 永久记住
git config --global credential.helper store
# 只缓存15分钟
git config --global credential.helper cache
# 指定缓存时间
git config --global credential.helper 'cache --timeout=3600'

Rebase 使用方法

当你从 GitHub 网页上提交过,本地提交的时候没 pull 就 commit 了,现在要 push 的话会提示冲突,此时 git 会提示你有两种选择:mergerebase。merge 的话就是合并分支,会增加一条合并记录,保留原始分支轨迹;rebase 可按字面意思理解 " 变基 ",即把当前修改的内容的 " 基 " 变换到远程最新,再将当前提交内容追加到最后,如果有冲突就处理冲突,rebase 之后没有增加额外分支,会显得干净。

1
2
3
4
# 注意只对下一次pull生效
git config pull.rebase false  # merge
git config pull.rebase true   # rebase
git config pull.ff only       # fast-forward only

个人理解,如果是自己提交或者让分支干净,就用 rebase;如果合并他人提交或要保留分支记录,就用 merge。

检查远程有哪些分支

1
git branch -r

拉取远程分支到本地并切换到该分支

1
git checkout -b <本地分支> origin/<远程分支>