可以理解本文为考试小抄

获取 Git

你可以从 git-scm.com 下载 Git。

配置 Git

设置邮箱和用户名(Email and name)

git config --global user.name "your name"
git config --global user.email [email protected]

默认分支(default branch)

git config --global init.defaultbranch branch main

获取帮助(Get help)

git <命令名称> -h

初始化仓库(Initialize repository)

git init

仓库状态(Git Status)

git status

跟踪文件(Track files)

git add <文件>

使用 .gitignore 忽略文件(Ignore files with .gitignore)

  1. 创建一个名为".gitignore"的文件

  2. 如果要忽略所有".txt"文件,可以在 .gitignore 中添加一行

    *.txt 
    

跟踪所有文件 / 添加到暂存区(Track all files / add to staging)

git add . # 或者 git add -A

提交(Commit)

是什么意思?在此刻对仓库的快照。

git commit -m "<提交消息>"

查看文件差异(View difference)

git diff

暂存区(Staging)

在准备提交它们之前,文件会在这里等待

工作文件 - 暂存区 - 提交

git restore --staged index.htm (取消暂存)
  1. git restore --staged <文件>:此命令将指定的文件从暂存区移除,并将其恢复到工作区。这意味着文件的更改将不再被提交到下一次的提交中,但文件的更改仍然保留在本地。此时文件未暂存。

  2. git rm --cached <文件>:此命令将指定的文件从暂存区移除,但是保留在工作区中。此时文件未追踪。

删除 / 恢复文件(Remove / restore files)

git rm <文件名>
git restore <文件名>

提交修改(Amend commit)

git commit --amend

查看日志(Git log)

–oneline:每个提交一行

-p:显示完整差异

重置到上一个提交(Reset to the previous commit)

git reset <哈希标签>

变基(Rebase)

修改出现在历史记录和所有命令显示的顺序

git rebase -i --root

分支(Branch)

分支是与主分支具有相同条目的副本。

创建分支(Create branch)

git branch <你的分支名>

列出分支(List branch)

git branch

切换分支(Switch branch)

git switch <你的分支名>

合并分支(Merge branch)

git merge -m "将xxx合并回主分支" <分支> # 从哪个分支合并回主分支

删除分支(Delete branch)

git branch -d <分支>

合并冲突(Merge conflict)

HEAD:当前在主分支中的内容

Update Text:即将到来的文本

进行必要的编辑,然后保存文件

典型的 Git 流程

你有一些需要处理的功能或错误,首先你会创建一个分支。然后你会进入并进行所有的更改。最后,你会返回并合并你的更改。

拉取请求(Pull requests)

在推送到主分支之前,更改必须经过审核和批准。这允许仓库所有者编辑更改并进行审查。

拉取和合并(Fetch and pull)

下载远程跟踪分支的所有历史记录

git fetch

要合并,使用

git merge

要结合上述两个命令,使用

git pull