可以理解本文为考试小抄
获取 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)
创建一个名为".gitignore"的文件
如果要忽略所有".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 (取消暂存)
git restore --staged <文件>
:此命令将指定的文件从暂存区移除,并将其恢复到工作区。这意味着文件的更改将不再被提交到下一次的提交中,但文件的更改仍然保留在本地。此时文件未暂存。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