Git
Git的一些知识
工作区:.git所在的目录
暂存区:.git/index
本地仓库:.git/objects

文件一共有四种状态
未跟踪(Untrack)
未修改(Unmodified)
已修改(Modified)
已暂存(Staged)

常用命令
git init 创建仓库
git status 查看仓库的状态
git add 添加到暂存区
git rm --cached <file> 将文件从暂存区移除
git restore 撤销修改
git commit 提交
git log 查看仓库提交历史记录,可以使用--oneline参数来查看简洁的提交记录
git reset 恢复到之前的版本
git reset --soft 回到之前的某一个版本,并且保存工作区和暂存区的所有修改内容
git reset --hard 回到之前的某一个版本,并且丢弃工作区和暂存区的所有修改内容
git reset --mixed 回到之前的某一个版本,并且只保存工作区的内容,丢弃暂存区的修改内容
git reflog 操作记录
git ls-files 查看暂存区中的内容
git diff 查看文件在工作区、暂存区、本地仓库之间的差异,
查看不同版本之间的差异,
查看不同分支之间的差异
git diff HEAD~3 HEAD [filename] 和当前最新提交的前第三个版本进行比较(或者只对比某个文件)
git rm 删除一个文件,把文件从工作区和暂存区同时删除
git fetch 从远程仓库中拉取代码
git pull 从远程仓库中拉取代码,并合并分支,如果有冲突会合并失败
git remote add <远程仓库别名> <远程仓库地址> 添加远程仓库
git push -u <远程仓库别名> <分支名> 上传本地仓库的代码到远程仓库
git remote -v 查看远程仓库
git branch dev 创建dev分支
git checkout dev 切换到dev分支,恢复文件
git switch main 切换分支
git checkout -b dev 创建并切换到dev分支
合并分支
git switch main 先切换到main分支
git merge dev 将dev分支合并到main分支上
git log --graph --oneline --decorate --all 查看历史
git branch -d dev 删除dev分支
git branch -D dev 强制删除dev分支
git rebase dev 找到main分支和dev分支的最近公共祖先,将最近公共祖先后面的dev分支合并到main的后面
在哪个分支上执行就是合并到哪个分支的后面



什么时候会发生冲突
不同分支对相同的文件进行了更改,在合并分支时就会发生冲突。需要手动处理冲突后,添加文件到暂存区,提交。
git merge --abort 冲突发生后中断合并工作流模型
版本号规则
主版本.次版本.修订版本1.0.0
主版本(Major Version):主要的功能变化或重大更新;
次版本(Minor Version):一些新的功能、改进和更新,通常不会影响现有功能;
修订版本(Patch Version):一些小的bug修复,安全漏洞补丁等。通常不会更改现有功能和接口;
许可协议:
CC BY 4.0