安装

arch 上 sudo pacman -S git, win 系统上 scoop install git

Scoop使用

安装无需多言。

一些设置

例如邮箱以及姓名都需要设置,不设置无法提交 commit。

 --global user.email = xxx

这些设置可以直接在配置里面看到,位置就在 ~/.gitconfig 里面。

用的是类似于 toml 的格式写的。

也可以通过指令来查看:

git config --list --show-origin

使用这个指令可以看到存放 git config 的位置,以及写了什么属性。

不想看来源就:git config --list.

默认分支名称

github 等平台默认的分支名称是 main 而 git 创建的默认名称是 master

更推荐使用 main 作为默认分支名。

可以对 global 进行设置让 main 成为默认分支。

git config --global init.defaultBranch main

设置得三个层级

  • local:只对当前仓库有效,位于 .git/config
  • global:对当前用户的所有仓库有效, 位于 ~/.gitconfig
  • system:对所有用户的所有仓库有效, 位于 /etc/gitconfig

一般设置 global 即可。

git 三件套

初始化:git init

添加暂存:git add .

提交:git commit

还有一个指令查看状态:git status

git commit

添加 -m 参数,就是提交一句话,可以看看这个标准 git message如何写

不添加 -m 参数就是打开默认的编辑器,一般是 vi,然后进行写,这里就可以写的很详细了(第一行就是 git commit -m 的效果,后面是详细的)

有时候电脑没有安装 vi,可以更改默认的编辑器:

git config --global core.editor "nvim" # 我这里用的是nvim也可以是vim等。

查看 git 提交历史

git log

这个是比较详细的。

git log --oneline

每次提交就是一句话,也就是 -m 那个一行话。

git log --graph --oneline

这个指令会画个分支图,能够清楚地看到分支的变化。

筛选

git log -n 5

只看最近的五次提交。

git log --grep="bug"

按照关键词搜索。

具体修改

git show

查看最新一次提交的具体修改了什么数据。

git show 分支hash

查看这个分支的代码变更状态。

远程仓库

也是主要三个指令:

git remote add origin 远程仓库的url # 远程仓库默认别名是origin

添加远程仓库。

第一次推送时:

git push origin -u main

Note

本地 git init 出来的本地分支,是 master

github 默认分支是 main,这是一个更中性的命名

git status

再次输入这个指令,可以查看到 origin/main

之后将本地的提交推送到远程仓库。

git push
git pull

从远程仓库拉取最新的修改到本地。

查看远程仓库

git remote

详细的:

git remote -v

修改远程仓库地址

git remote set-url 远程仓库名(origin) 远程仓库链接

更名远程仓库

git remote rename 原先名字 新名字

移除远程仓库

git remote rm 远程仓库名

分支

这个是 git 最强大的功能,合作的根源。

Github如何使用

主要四个指令:

git branch

查看所有分支。

git branch 新分支名

创建一个新的分支。

git checkout 存在的分支名

切换到指定分支。

git merge 分支名

将 head 指向的分支(也就是当前分支)与指令指定的分支进行合并。合并到 head 指针所指向的分支。一般是 main 分支。

删除分支

删除本地分支:

git branch -d 分支名

删除远程分支:

git push origin -d 远程分支名

注意,无法删除当前所在分支。

开发流程

从主分支创建一个新的分支 git branch feature/xxx

在分支进行开发,git add .git commit

开发完回到主分支,git checkout main

将功能分支与主分支合并,git merge feature/xxx

推送到远程仓库,git push