安装
arch 上 sudo pacman -S git, win 系统上 scoop install git。
安装无需多言。
一些设置
例如邮箱以及姓名都需要设置,不设置无法提交 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 mainNote
本地
git init出来的本地分支,是 mastergithub 默认分支是 main,这是一个更中性的命名
git status再次输入这个指令,可以查看到 origin/main
之后将本地的提交推送到远程仓库。
git pushgit pull从远程仓库拉取最新的修改到本地。
查看远程仓库
git remote详细的:
git remote -v修改远程仓库地址
git remote set-url 远程仓库名(origin) 远程仓库链接更名远程仓库
git remote rename 原先名字 新名字移除远程仓库
git remote rm 远程仓库名分支
这个是 git 最强大的功能,合作的根源。
主要四个指令:
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