蚌埠做网站多少钱,郑州定制网站推广工具产品,电脑编程教学入门教程,网络安全专业学什么目前组件库的开发已经接近尾声#xff0c;因为这次是使用 git 进行协作的开发模式#xff0c;在团队协作的时候遇到很多的问题#xff0c;开发过程中发现小伙伴们对于 git 的使用还不是很熟练#xff0c;这里就简单总结一下常用的 git 的操作#xff0c;大致有#xff1a…目前组件库的开发已经接近尾声因为这次是使用 git 进行协作的开发模式在团队协作的时候遇到很多的问题开发过程中发现小伙伴们对于 git 的使用还不是很熟练这里就简单总结一下常用的 git 的操作大致有
项目开发如何 fork / pr 的模式进行开发怎么样处理冲突怎么样忽略文件并且取消追踪
关于组件库代码想要看代码的可以直接前往我的 githubhttps://github.com/aiai0603/seven-bit-ui
想要看组件库文档代码的可以前往https://github.com/aiai0603/seven-bit-docs
想要使用我的组件库的可以直接下载seven-bit-ui 原来的名字被占用了所以我换了一个
协作开发的模式
目前大多数团队是基于 fork 主仓库然后 pr 的模式进行开发由项目负责人创建一个仓库一般是主分支 master 是受保护的分支其他人不能随意修改这个分支从而让这个分支保存我们完整代码。之后可以创建一些其他的分支比如 test 分支作为我们开发特定功能的测试分支 对于每一个合作开发者他们需要 fork 我们的仓库到本地之后使用 fork 的仓库进行开发 如果一个开发者想要将他的代码提交到我们的仓库他需要通过 pull requests 功能进行开发 选择你需要提交的分支和你需要提交到的分支之后就可以创建一个 pr 你需要填写一些信息一般是你的分支新增了什么内容修改了什么问题对什么文件进行了修改等内容 这里要注意可以看到右侧有一个 Able to merge 表示这表示本次提交不会产生冲突当你和另一位开发者都修改了某项内容的时候就会产生冲突如果你的分支产生了冲突那么主仓库的作者是不能合并的需要处理冲突 如果没有冲突就可以自动合并 冲突解决
如果你的代码与主仓库产生了冲突那么你需要解决冲突才能进行你的 pr 如果你使用 vscode 开发方案如下 首先在你的本地代码文件中拉取远程仓库 git pull https://github.com/aiai0603/seven-bit-ui.git master
# git pull 主仓库地址 主仓库分支之后你可以在 vscode 里可视化解决冲突 解决完冲突以后使用 vscode 合并冲突再提交你的代码即可
由其他人的 pr 被合并后你可以在 github 使用 sync fork 功能来同步同步主仓库的代码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZG04ULAX-1676036148266)(.\img\13.png)]
如果同步失败你需要在 vscode 拉取代码解决冲突
git pull https://github.com/aiai0603/seven-bit-ui.git master
# git pull 主仓库地址 主仓库分支拉取代码到本地
当你同步了代码之后你会希望将代码拉取到本地但是你可能有还在开发的版本没有提交你不需要这些代码受到影响你可以使用stash 来解决这个问题 首先你使用 vscode 暂存你的代码 之后你输入以下命令这个操作将你的代码暂存到一个栈中你可以多次 stash 代码 git stash之后你可以将远程仓库的代码拉取到本地 之后你将你刚刚存储起来的代码抛出在你 pop 一次缓存后它将消失 git stash pop忽略提交的文件
忽略文件
有时候你想要不提交某些文件到远程仓库比如我不想把我本地编写的用于测试我的组件的代码提交上去你可以将你的代码写入 .gitignore 文件这个文件的写法是
1空格不匹配任意文件可作为分隔符可用反斜杠转义
2以“”开头的行都会被 Git 忽略。即#开头的文件标识注释可以使用反斜杠进行转义。
3可以使用标准的glob模式匹配。所谓的glob模式是指shell所使用的简化了的正则表达式。
4以斜杠/“开头表示目录”/“结束的模式只匹配文件夹以及在该文件夹路径下的内容但是不匹配该文件”/开始的模式匹配项目跟目录如果一个模式不包含斜杠则它匹配相对于当前 .gitignore 文件路径的内容如果该模式不在 .gitignore 文件中则相对于项目根目录。
5以星号“通配多个字符即匹配多个任意字符使用两个星号”* 表示匹配任意中间目录比如a/**/z可以匹配 a/z, a/b/z 或 a/b/c/z等。
6以问号?通配单个字符即匹配一个任意字符
7以方括号[]包含单个字符的匹配列表即匹配任何一个列在方括号中的字符。比如[abc]表示要么匹配一个a要么匹配一个b要么匹配一个c如果在方括号中使用短划线分隔两个字符表示所有在这两个字符范围内的都可以匹配。比如[0-9]表示匹配所有0到9的数字[a-z]表示匹配任意的小写字母。
8以叹号!“表示不忽略(跟踪)匹配到的文件或目录即要忽略指定模式以外的文件或目录可以在模式前加上惊叹号!取反。需要特别注意的是如果文件的父目录已经被前面的规则排除掉了那么对这个文件用!规则是不起作用的。也就是说”!“开头的模式表示否定该文件将会再次被包含如果排除了该文件的父级目录则使用”!也不会再次被包含。可以使用反斜杠进行转义。
git对于.ignore配置文件是按行从上到下进行规则匹配的意味着如果前面的规则匹配的范围更大则后面的规则将不会生效
提供一篇详细的文档供大家参考https://www.cnblogs.com/kevingrace/p/5690241.html
取消追踪
当然这里有一个问题如果我们已经追踪了某个文件比如我们已经提交过 a.vue 这个文件git 已经追踪了文件那么即使我们后续将他提交到了 .gitignore 文件中它的修改依旧会被追踪对此我们需要清理 git 的追踪
git rm --cached readme1.txt 删除readme1.txt的跟踪并保留在本地。git rm -r --cached dir1 删除dir1目录的跟踪并保留在本地。git rm --f readme1.txt 删除readme1.txt的跟踪并且删除本地文件。在取消的追踪之后我们的修改就产生提交了