Git Cookbook

本文介绍一些使用 Git 的过程中经常遇到的问题及解决方法。

1 如何在新设备上配置 Git

1.1 本地配置

$ git config --global user.name "NAME"
$ git config --global user.email "NAME@EXAMPLE.COM"

1.2 GitHub 远程配置

生成公钥和私钥:

$ ssh-keygen -t rsa -C "NAME@EXAMPLE.COM"

查看公钥的内容:

$ cat .ssh/id_rsa.pub

将公钥的内容复制到 GitHub 的设置中即可。

1.3 下拉 Repo

$ git init
$ git remote add origin git@github.com:ProgCZ/xxx.git
$ git pull origin master

1.4 上推 Repo

$ git add -A
$ git commit -m "xxx"
$ git push origin master

2 如何查看和丢弃某一文件未 commit 的修改

查看 README.md 文件未 commit 的修改:

$ git diff README.md

丢弃暂存区的修改:

$ git restore --staged README.md

丢弃工作区的修改:

$ git restore README.md

3 如何查看、合并和删除分支

查看本地的所有分支:

$ git branch

查看本地和远程的所有分支:

$ git branch -a

创建分支:

$ git branch dev

切换分支:

# Pre code
$ git checkout dev
# New code
$ git switch dev

创建并切换分支:

# Pre code
$ git checkout -b dev
# New code
$ git switch -c dev

使用 Fast forward 模式合并某分支到当前分支:

$ git merge dev

效果如图:

禁用 Fast forward 模式合并某分支到当前分支,提交一次新的 commit

$ git merge --no-ff -m "merge with no-ff" dev

效果如图:

查看分支的合并情况:

$ git log --graph --pretty=oneline --abbrev-commit

删除已合并的分支:

$ git branch -d dev

删除未合并的分支:

$ git branch -D dev