目标:
使用 Git 对代码进行高效管理
内容:
资源背景:VSCode、GitLab 和 Git
1、 常规型 git 命令总结
2、 常见型分支管理问题
3、 本地创建项目并推送至远程仓库的步骤
常规型 git 命令总结:
1、 git add .
在vscode中所有修改的文件都hi被自动追踪,并且执行此命令会将修改的内容放到暂存区
2、 git commit -m “推送信息”
为暂存区的所有修改添加信息并放入本地仓库。完成任务用feat,修BUG用fix,发包用publish
3、 git push
将本地的分支推送到远程仓库。
假如远程仓库没有此分支,第一次推送使用 git push --set-upstream origin 分支名
4、 git checkout -b 分支名
本地仓库切出来一个新分支。
假如本地仓库已经有分支,使用 git checkout 分支名。
本地使用的分支不要跟远程仓库的分支重名,不然推送资源的时候会报错
5、 git stash 和 stash pop
有时候任务做到一半,突然来一个紧急BUG修复,可以将当前已经修改的内容保存到暂存区,事后再将修改的内容拿出来。或者可以准备两个reposity项目
6、 git rm --cached 文件名
将此文件再git工作区的索引删除,本地文件还在。git rm 文件名 表示将此文件的索引和本地文件都删除
7、 git status
显示工作目录和暂存区的状态
8、 git log 和 git reflog(回退版本)
参考大佬文章 添加链接描述
9、 git merge 分支名A
当前分支B,将分支A merge 到分支B
10、 git merge --abort
取消当前分支的冲突
11、 git reflog show 分支名
查看当前分支从哪个分支切出来的。推荐下载Git Extensions 软件,对 git 情况可视化
12、 git fetch
本地可能没有远程的分支,需要拉取远程的分支
13、 git submodule init 和 git submodule update 子模块
参考大佬文章 添加链接描述
常见型分支管理问题:
1、 项目 master 分支
绝对不能直接在 master 主分支上面做任务,要么从 master 上面切出来一个分支,然后做完任务推送上去。一般公司里都会有 从 master 切出来的 release 和 hotfix 分支,维护一段时间然后 merge 到主分支,当然正常情况下都是基于 release 和 hotfix 分支做任务的
另外绝对不要在 master 上发包!
2、 项目 release 分支
从 主分支 master 切出来的 release 分支。
周期迭代:团队在一个周期迭代中做的功能性任务推送至 release 分支
小团队:大团队中分出来一个小团队维护一个小功能等等
3、 项目 release 分支
从主分支 master 或者 release 分支切出来的 hotfix 分支。一般修改 BUG 任务推送至 hotfix 分支
本地创建项目并推送至远程仓库的步骤:
- 远程创建一个仓库
- CLI脚手架创建 React 项目(删除.git文件并配置一下 .gitignore 文件)
- 本地初始化工作区域 git init(默认 master 分支)
- git remote add origin https://gitee.com/shi-chaojie/cj-management.git(本地仓库跟远程仓库建立联系)
- git add . 添加到暂存区
- git commit -m “message” 提交到本地仓库
- git push origin master(本地仓库内容推送至远程仓库)
- 顺手再切出来一个 dev 开发分支,本地切分支并推送(远程也可)
git checkout -b dev 和 git push origin dev