当前位置: 首页 > news >正文

vscode集成git管理项目

一、git与SVN
Git: 是一种分布式版本控制系统,每个开发者都可以在本地完整地复制整个代码仓库,并且可以在不连接到中央服务器的情况下进行提交、分支和合并等操作。
SVN :是一种集中式版本控制系统,开发者们只能直接与中央服务器交互,需要联网才能进行提交、分支和合并等操作

二、版本管理工具有什么用
版本控制:最明显的好处是对代码版本的有效控制。您可以轻松地追踪每个文件的更改历史,了解谁、何时以及为什么修改了代码。
**协作:**版本管理工具使得团队协作更加容易。多个开发者可以同时在同一项目上工作,而不会导致代码丢失或冲突。开发者可以独立地在自己的分支上进行工作,然后将更改合并到主分支中。
**分支管理:**您可以创建分支来独立开发新功能或解决bug,而不会影响主要代码线。这使得开发过程更加模块化和灵活,并且可以在不破坏主代码线的情况下实验新功能。
回滚和恢复:如果出现问题,您可以轻松地回滚到之前的稳定状态,而不会丢失任何数据。这种能力可以帮助您迅速解决问题,并减少潜在的损失。
**代码审查:**通过版本管理工具,团队成员可以查看彼此的更改,并提供反馈和建议。这有助于提高代码质量、减少bug,并促进知识共享和团队合作。
**追踪问题:**通过将提交与问题跟踪系统(如JIRA、Bugzilla等)集成,您可以轻松地追踪特定问题的修复是如何实现的,以及哪些代码更改与之相关。
**备份和恢复:**版本管理工具可以作为一种备份机制,确保代码的安全性和完整性。即使在本地机器出现故障时,您的代码仍然是安全的,并且可以轻松地恢复到其他地方。

代码版本管理工具可以提高团队的生产力、代码质量和合作效率,减少风险和错误有效方式
三、git client与github
github是共享的平台站点,可以也可以使用gitlab自己搭建
1、git安装
注意添加环境变量,使得vscode可以在项目下可以使用命令
2、分支
本地可以新建项目、分支;远程也有仓库和分支,两边名称可以不同,所以注意对应
git branches 可以查看本地的分支名称
github上可以看到branches的分支
至于两者是否对应就需要看创建者命名了。所以我们分两个仓库说明
3、本地仓库
git init 初始化仓库
git add . 添加文件到Git仓库
git commit -m “Initial commit: adding project files” 提交更改,加上描述
4、远程仓库
在github登录手动创建后就有仓库/项目地址
git remote add origin https://github.com/kingredfly/idcTool
注意后期origin就代表https://github.com/kingredfly/idcTool,所以注意origin命名,可以改为其他命名
5、合并
如果每次项目开始想获取远程项目协同人员的修改:
git fetch origin 获取远程
git checkout master 切换本地
git merge origin/master 将远程master分支更改合并到本地master分支
6、报错:
fatal: refusing to merge unrelated histories
通常是本地分支和远程跟踪分支)的历史记录是不相关的,也就是说它们没有共同的祖先提交。这通常发生在你初始化一个新的本地仓库并添加了一个远程仓库,或者克隆了一个仓库但在本地做了大量的提交,而没有从远程仓库拉取任何更改。Git 默认情况下会拒绝合并不相关的历史,以防止可能的数据丢失。但是,你可以通过添加 --allow-unrelated-histories 选项来强制 Git 进行合并。要解决这个问题,你可以使用以下命令来拉取并合并远程分支的更改,同时允许不相关的历史记录合并:
git pull origin master --allow-unrelated-histories 直接合并

相关文章:

  • ensp ppp验证实验(二)
  • 低代码开发平台开源:依靠科技力量实现数字化转型!
  • Guava之EventBus源码分析
  • 从0到1:Java构建高并发、高可用分布式系统的实战经验分享
  • G - Find a way
  • RUST:Arc (Atomic Reference Counted) 原子引用计数
  • 面试笔记——Redis(双写一致、持久化)
  • 11.创建后台系统项目
  • 鸿蒙Harmony应用开发—ArkTS-if/else:条件渲染
  • vue3,ref和reactive声明变量有什么区别,分别怎么用
  • mysql 学习
  • Qt 写一个邮件发送程序
  • C#入门及进阶教程|Windows窗体属性及方法
  • Linux cp、mv命令显示进度条
  • 普通用户权限运行Docker
  • .pyc 想到的一些问题
  • 【React系列】如何构建React应用程序
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Android框架之Volley
  • css选择器
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • express + mock 让前后台并行开发
  • flutter的key在widget list的作用以及必要性
  • Invalidate和postInvalidate的区别
  • java 多线程基础, 我觉得还是有必要看看的
  • Java 网络编程(2):UDP 的使用
  • js对象的深浅拷贝
  • python 装饰器(一)
  • Redash本地开发环境搭建
  • springMvc学习笔记(2)
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 工程优化暨babel升级小记
  • 关于Flux,Vuex,Redux的思考
  • 讲清楚之javascript作用域
  • 利用DataURL技术在网页上显示图片
  • 七牛云假注销小指南
  • 前端
  • 深度学习入门:10门免费线上课程推荐
  • 协程
  • 学习使用ExpressJS 4.0中的新Router
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​学习一下,什么是预包装食品?​
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #include
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (007)XHTML文档之标题——h1~h6
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (145)光线追踪距离场柔和阴影
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (二)pulsar安装在独立的docker中,python测试
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)