git init 初始化(让git接管你的代码)
git add 文件名字 或者 git add . 提交代码至暂存区
git commit -m'本次提交的说明' 提交代码(存区的代码)至git仓库
git status 检查状态
红色 说明文件在工作区
绿色 说明文件在暂存区
没有任何内容working tree clean 说明文件已经全部在git仓库了
git clone 地址 克隆地址
回退:git log 查看过去版本信息(提交记录)
git reflog(查看全部版本信息)
git reset --hard (修改版本号)
分支:git branch 查看分支
git branch 分支名字 创建分支
git checkout 分支名字 切换分支
git merge 分支名字 合并分支 (站在主分支上合并其他小分支,主分支一般不写代码,用于合并其他分支的)
git branch -d 分支名字 删除本地分支
提交拉取代码git push -u origin master 提交代码
origin就是一个变量(本质是地址)
master主分支名
-u 第一次使用了 以后提交只需要 git push
git pull 拉取代码
远程分支git push origin 分支名 提交远程分支
git push -d origin 分支名 删除远程分支
查看分支git branch 查看本地分支
git branch -r 查看远程分支
git branch -a 查看远程、本地所有分支
git branch -av 查看所有分支以及说明、提交信息
git 工作树 作用-
将分支具象化---------------------以前切分支,在当前分支看不到其他分支的东西。
-
将一个分支的代码,单独拉去到一个新的文件夹中进行管理,每一个工作树都是都处于独立的空间,相互不干扰
当一个分支中,存在没有提交的代码(node_modules),这个时候就切分支,导致没有提交的代码和文件像狗皮膏药跟随在当前分支上,包越来越多,包版本混乱!
解决使用一个工作树 worktree ,把分支具象化,看的见摸得着!而且相互不影响!
最终效果每一个分支都可以有一个工作树,可以同时在多个分支上进行开发。
每次在创建新的工作树的时候,不会把没有提交的node_modules 带过来!
代码(3条命令)-
创建一个新的工作树
git worktree add 新工作树的路径 -b 新分支名 git worktree add ../git仓库名-wt-分支名-序号 -b 新分支名-序号
-
查询工作树的列表 git worktree list
-
删除工作树 手动删除后 git worktree prune
-
平常创建分支
git checkout -b node-pro1-10
站在当前分支,克隆一个新分支 node-pro1-10 并且切换过去
-
现在创建工作树
git worktree add ../wt-node-pro1-10 -b node-pro1-10
站在当前分支,克隆一个新分支 node-pro1-10 并形成一个工作树文件夹叫做 wt-node-pro1-10 (一个看的见的分支)正常提交。删除工作树对node-pro1-10 分支没有任何影响,分支保留,看的见的工作树被删掉
-
工作树和分支到底是什么关系? 没有关系,工作树仅仅就是把分支拿出来单独开发,不受其他分支的影响 删除工作树的时候不会影响到分支!!!
feat:
新功能(feature)
fix:
修补bug
docs:
文档(documentation)
style:
格式(不影响代码运行的变动)
refactor:
重构(即不是新增功能,也不是修改bug的代码变动)
test:
增加测试
chore:
构建过程或辅助工具的变动
举个栗子
-
提交新功能 git commit -m ‘feat:完成了品优购项目的头部’
-
提交修改功能 git commit -m ‘fix:修改了品优购项目的头部颜色样式不准确的bug’
-
提交今日笔记 git commit -m ‘docs:提交今天移动端第一天的文档和笔记’



