Skip to content

KrDw's Git Note

更新于 at 17:28

推荐教程

我的建议是先跟着廖雪峰的图文教程一步一步走一遍 git 工作流程,然后看 GeekHour 的视频教程加深理解,官方文档供后续使用时按需查找。

这篇文章的后续内容是我跟着视频教程所记录的笔记,可以当作视频教程的文字版使用。

基础使用

这里的命令都是第一次上手就能用,易于理解,一般不涉及一些附加参数的使用。

git init

git config

git status

git add

git commit

注:建议在提交前进行 git status 查看当前情况,防止工作区与暂存区不统一。

git reset

一般情况下,不加参数使用,要提交时重新暂存提交;

如果真的要舍弃所有的修改内容(工作区、暂存区和版本库),才使用 hard 参数。

git diff

git rm

.gitignore

应该忽略哪些文件:

.gitignore 中一行添加一个文件名称来忽略文件(文件夹则需要后面加 /),支持通配符

注:只支持忽略未追踪的文件,已添加到仓库的文件仍然会追踪修改。

匹配规则:

GitHub 官方提供的 gitignore 模板集合,针对不同语言有不同的模板。 github/gitignore: A collection of useful .gitignore templates

SSH Key

  1. 生成新的 SSH 密钥:
    1. ssh-keygen -t ed25519 -C "youremail@example.com"
    2. 之后可以一路回车。
  2. 将 SSH 密钥添加到 ssh-agent(最好使用 Git-Bash):
    1. eval "$(ssh-agent -s)"
    2. ssh-add ~/.ssh/id_ed25519
  3. 在 GitHub 账户添加新的 SSH 密钥:
    1. clip < ~/.ssh/id_ed25519.pub
    2. KrDw > Settings > Access/SSH and GPG keys > New SSH key
  4. 测试 SSH 连接
    1. ssh -T git@github.com

如果使用的是 Windows 自带的 PowerShell 在第4步或是 push 时出现问题,可以参照下列步骤解决:

  1. 换用 Git Bash:eval "$(ssh-agent -s)",打开 ssh-agent,在 Git Bash 中尝试是否正常
    1. ssh -T git@github.com
    2. git push origin main
  2. 正常的话,请尝试:
    1. win + R,输入“services.msc”,打开服务管理;
    2. 找到 OpenSSH Authentication Agent,查看启动类型是否为“自动”,状态是否为“正在运行”;
    3. 否则,请右键-属性 > 启动类型:自动。
  3. 如果以上办法没解决,那我也没辙。

2024-02-02 更新:可以前往配置 git 代理连接 GitHub 配置代理来解决网络问题。

git remote

git push

git pull

git fetch

git branch

git merge

git rebase

执行 rebase 是将两个分支并成一条直线

工作流模型

Git Flow

GitHub Flow

进阶使用

alias