## 页面路径分颜色 ```git posh-Git ``` ## 常用配置 ![image-20250408095121040](_pic/image-20250408095121040.png) ![image-20250408095215253](_pic/image-20250408095215253.png) ![image-20250408095248368](_pic/image-20250408095248368.png) ## 创建操作 ```git 1. mkdir learn-git cd learn-git git init ls -a显示隐藏文件 2. git clone +地址 ``` ## 区域分类 * 工作区 * 暂存区 * 本地仓库 ```git git add 工作区->暂存区 git commit 暂存区->仓库 ``` ## 状态分类 * 未跟踪 * 未修改 * 已修改 * 已暂存 ![image-20250408101645490](_pic/image-20250408101645490.png) ## 添加和提交 ```git git status 查看仓库状态 git add 添加到暂存区 git rm --cached 取消暂存 git commit -m "加个备注" git add *.txt 暂存所有txt文件 git add . 添加文件夹下所有文件到暂存区 git log查看提交记录 git ls-files 查看暂存区文件 ``` ## 回退版本 ![image-20250408102531310](_pic/image-20250408102531310.png) ## 删除 ```git git rm +文件名 同时删除工作区和暂存区的文件 git rm --cached +文件名 删除暂存区,保留工作区的此文件 ``` ## 克隆 * http:被github停用 * ssh:安全方便,需要配置公钥 ```git git clone +地址 cd .ssh ssh-keygen -t rsa -b 4096 协议rsa,生成大小4096 有密码,可以不创建 !!:不是第一次,不指定文件名密钥会被覆盖,可以加一个test twst私钥文件 test.pub公钥文件 ``` ![image-20250408104754738](_pic/image-20250408104754738.png) ![image-20250408104837508](_pic/image-20250408104837508.png) ## 图形化工具 ![image-20250408110655704](_pic/image-20250408110655704.png) ## vscode+git ![image-20250408111604613](_pic/image-20250408111604613.png) ![image-20250408111630027](_pic/image-20250408111630027.png) ## 分支 ```git git branch 查看当前仓库分支 git branch +分支名 创建新分支 git switch +分支名 切换分支 echo dev1 > dev1.txt 新建文件 git add . git commit -m "备注" git merge +分支名(要被合并的) 合并到当前分支 git log 查看分支图 git branch -d +分支名 删除分支 -d:被合并的才可以,未合并-D git commit -a -m "备注" 添加暂存+提交 git merge --abort 终止合并 ``` ![image-20250408114113760](_pic/image-20250408114113760.png) ## 回退和rebase ```git git checkout -b dev +提交id 恢复到dev分支提交时间点状态 git log --oneline --graph --decorate --all 查看提交id alias graph="" 别名 git reset --hard +提交id ``` ```git git switch dev git rebase main ``` * merge * 不会破坏原分支的提交历史,方便回溯和查看 * 会产生额外的提交节点,分支图比较复杂 * rebase * 不会新增额外的提交记录,形成线性历史,比较直观和干净 * 会改变提交历史,改变了当前分支branchout的节点。 (避免在共享分支使用)