vimacs's personal siteWritten with Vim and Emacs

Git 常用命令

版本标识

Git 可以用多种方法标识一个版本:

本地仓库

分离头指针相关

对于分离的头指针,可以在上面创建分支。

如果在分离的头上做了修改,又不小心检出了其他提交,可以使用 git reflog 找回丢失的提交。

分支相关

变基操作

变基操作 git rebase 是 Git 的一个重要操作,“把版本A变基到版本B上”的含义是将版本 B 没有而版本 A 有的修改应用到 B 上,得到一个新的版本。

远程仓库

合并操作

其他

AUR 的软件包中,可以用以下命令描述一个用 Git 作版本管理的软件的版本:

如果不需要获取一个仓库的所有历史,可以用 git clone --depth=1.

GitHub 操作建议

提交 pull request 时,建议创建一个新的分支,并且用 git rebase -i 变基到上游仓库的主分支(一般为master)上。如果对 pull request 中的提交用 git commit --amend 进行了修改,可以使用 git push --force.

合并 pull request 时,使用 Rebase and mergeSquash and merge ,而不是使用 Create a merge commit 方案。如果有变基冲突而不能用 Rebase and merge,则进行手动操作,将 pull request 的版本 pull 至本地,然后进行手动 rebase 或 cherry-pick 操作。