SVN删除了文件,不想同步到服务器同步怎么忽略呢?

本篇文章给大家带来了关于git入门的相关知识,其中包括了环境配置、基本理论、项目搭建以及文件操作等相关问题,希望对大家有帮助。

什么是版本控制(版本迭代,新的版本!版本管理器)

版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。

  • 实现跨区域多人协同开发
  • 追踪和记载一个或者多个文件的历史记录
  • 组织和保护你的源代码和文档
  • 并行开发,提高开发效率
  • 跟踪记录整个软件的开发过程
  • 减轻开发人员的负担,节省时间,同时降低认为错误

简单说就是用于管理多人协同开发项目的技术。

没有进行版本控制或者版本控制本省缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一直型,软件内容的冗余,软件过程的事务性,软件开发过程的并发性,软件源代码的安全性,以及软件的整合等问题。

主流的版本控制器有如下这些:

Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage、Index)、资源库(Repository或Git Directory)。如果再加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:

  • Workspace:工作区,就是你平时存放项目代码的地方
  • Index/Stage:暂存区:用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。
  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。

本地的三个区域确切的说应该是git仓库中HEAD指向的版本:

  • Directory:使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git的管理空间。
  • WorkSpace:需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间
  • .git:存放Git管理信息的目录,初始化仓库的时候自动创建。
  • Index/Stage:暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的跟新放在暂存区。
  • Local Repo:本地仓库,一个存放在本地的版本库;HEAD会只是当前的开发分支(branch)。
  • Stash:隐藏,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态。

git的工作流程一般是这样的:

1、在工作目录中添加、修改文件;

2,将需要进行版本管理的文件放入暂存区域;

3,将暂存区域的文件提交到Git仓库。

因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)。

创建工作目录与常用指令

工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。

日常使用只要记住下图6个命令:

创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。

程序员必备接口测试调试工具:

自己动手手写一个MVC框架(40节精讲/巨细/新人进阶必看):

版本控制是指对软件开发过程中各种程序代码、及说明文档等 文件变更的管理,是的核心思想之一。

最主要的功能就是追踪文件的变更

  • Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。

如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。

  • 1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。

  • **2、Git 把内容按元数据方式存储,而 SVN 是按文件:**所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。

  • **3、Git 分支和 SVN 的分支不同:**分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。

  • **4、Git 没有一个全局的版本号,而 SVN 有:**目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。

  • **5、Git 的内容完整性要优于 SVN:**Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

Subversion (SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

  • **repository(源代码库):**源代码统一存放的地方
  • **Update (更新):**当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更

日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了) 。

  • 如果两个程序员同时修改了同一个文件呢, SVN 可以 合并 这两个程序员的改动,
  • 实际上SVN管理源代码是以 **行 **为单位的,
  • 就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。
  • 如果是同一行,SVN 会提示文件 Conflict, 冲突,需要手动确认。
    • 多个人修改了同个文件的同一行
    • 无法进行合并的二进制文件
    • 经常update 同步他人的代码
    • 二进制文件不要多个人同时操作
  1. 冲突了怎么办?三种方法

    • 隔离 线上版本 和 开发版本
    • 大功能开发,不想影响到其他人,自己独立开个分支去开发,开发完成之后再合并上去
    • trunk 主干:经常在主干上开发,开发完成之后,到一个版本,就可以开一个分支出去,存储到 branches 里

目的:借助 GitHub 托管项目代码

  • 一个 git 库(仓库)对应一个开源项目

仓库的意思,即你的项目,在Github上开源一个项目,那就必须要新建一个 Repository,如果你开源的项目多了,你就拥有多个 Repositories

仓库主页 star 按钮,意思为收藏项目的人数

  • 复制克隆项目Fork

    该 fork 的项目是独立存在的,在该 fork 的项目上修改,不影响别人的代码,而且会发起请求(pull request)给原创项目,看修改的代码,如果可以,就可以合并修改的代码——>到原仓库中

  • 如果想让原创项目采用 fork 的修改的代码;就要发送 pull request 给原创,问它是否采用

  • 关注项目,当项目更新时,可以接收到通知

  • 事务卡片Issue

    发现代码 BUG ,但是目前没有成型代码,需要讨论时用;或者使用开源项目出现问题时使用

  • 账号创建成功或点击网址导航栏 Github 图标都可进入 Github 主页;该页左侧主要显示用户动态以及关注用户或关注仓库的动态;右侧显示所有的git库

  • 主要显示项目的信息,如:项目代码,版本,收藏/关注/fork情况等

  • 个人信息,头像,个人简介,关注我的人,我关注的人,我关注的git库,我的开源项目,我贡献的开源项目等信息

**如果是修改代码:**有两种样式

作用:发现代码 BUG ,但是目前没有成型代码,需要讨论时用;或者使用开源项目出现问题时使用

情景:张三发现李四开源git库有Bug,则发送一个issue;李四登录在GitHub主页看到通知并和张三交流,最后关闭 issue

6 Git基本工作流程

      • 最终确定 的文件保存到仓库,成为一个新的版本,并且对他人可见
    • 暂存要提交的文件,万一需要修改,还有回旋的余地,写完,最后 统一提交 到 Git 仓库中;
    • 添加,编辑,修改文件等动作

7 Git 初始化及仓库创建和操作

  1. 该设置在 GitHub 仓库主页显示谁提交了该文件

  2. 初始化一个新的 Git 仓库

    1. 创建文件夹:两种方式——mkdir test 和直接创建

    2. 在文件夹内初始化 Git(创建 Git 仓库)

  3. **删除仓库文件 **

以上都是本地操作,远程没有任何变化


  • 使用远程仓库的目的备份 ,实现代码 共享 集中化管理

    • 目的:将远程仓库(GitHub 对应的项目)复制到本地
  • **将本地仓库同步到 git 远程仓库 **

    • 为什么无法同步 或没有权限?

    1. 创建个人站点 ——》 新建仓库 (注:仓库名必须是【用户名.github.io】)
  • 仓库里面仅支持 .html 文件
    1. 进入项目主页,点击settings
    • 前端:vue的标准项目

    • 下载完毕,先不要着急运行!

      1. 是否有数据库?(MySQL,。。。)

通过了,然后在想办法运行!

    1. 创建新的数据库,执行SQL

    2. 前端需要跑起来!(如果是vue,要先有环境,npm install)

    3. 先启动后端项目(前端依赖后端);后端启动之前,如果有 redis,先启动 redis

      1. 只要发现Swagger,那么跑起来的第一步就是先进入 Swagger-ui页面,因为这里都是接口!
      2. 进而查看配置文件!默认端口,有哪些配置,需要改为自己的项目和环境地址!(尤其是端口好和用户名,密码,数据库名)
      3. 前端就是安装依赖,启动测试运行,看接口是否正常!
        • 首先看console有没有爆红
        • 点击功能,都能点进去,就没问题
  • 前后端分离项目固定套路
    1. 从前端开始分析,打开控制台,点一个接口,分析一波调用关系!

    2. 前后端端口号,调用不一致,,前端端口——8013,后端端口——8000,怎么操作的?

      • 封装了接口请求,前后端分离一般使用——Ajax,vue使用——axios,axios怎么封装呐?——使用 request 封装

      • 前后端分离项目的重点:找到接口的调用关系

      • SpringBoot 提供服务!前端调用接口数据!Vue 负责渲染页面!

      • 通过抓取前端的请求,找到后端对应的接口

      • 现在从前到后可以分析了!但是如何渲染到视图上呐?看前端

      • 如果你现在自己的项目或者你要学习一个模块,将这个模块独立抽取出来即可!删除法

  • 如何找到一个好的开源项目
  • 根据自身的理解情况去看,

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

面对大量代码,在开发任务繁重场景下,VSCode 绝对是一把利器。本文虽以 C++为引,但在 python、php、java 等中后台语言方面支持也很强大,对 js、css 等前端技术支持上更加厉害。简言之,只需安装一个 IDE(VSCode),就能解决你在大型项目多语言、任务繁重、跨平台场景下的开发需求。
本文以介绍配置方法为主,虽看似长,但实际在 30 分钟内绝对完成。一招在手,天下我有。

  • 支持多语言,比如 C++、JAVA、PYTHON、JS、PHP 等等;基本日常用到的希望不用开多种 IDE 就能解决;
  • 支持多种编码方式。代码有 gbk 和 utf8 两种,希望 ide 能自动识别。
  • 代码自动补全、函数列表、函数引用、函数定义、查到、函数跳转、函数跳回 都比较好用。
  • ide 能显示文件全部路径(近期接触到的代码,不同文件夹下同名文件太多)
  • 主题好看点,时不时换个主题换个心情
  • ide 上手快,配置简单,跨平台;
  • 占用内存少,不卡。轻便灵活
  • 使用人数?我们研发中心都在使用 VSCode

使用过的各种 IDE 对比

    git 安装时,需要在关键几步注意下:请按照图中选项设置

    安装 git 时要关注添加环境变量到系统中即可。安装完成后,需要在 VSCode 中配置 git 路径。VSCode 中配置 git 安装路径如下:win 下,仅供参考:

    Q: VSCode 在 windows10(7)、linux、mac 上体验如何?A:VSCode 在 win 上使用时,主要受限于 git 是,操作较慢,且对于 C++的系统库文件跳转无法正常解析,还需另外通过 wsl 或者安装其他工具来设置,但在 linux、mac,则可以使用系统自带的 git 和系统库,系统库文件跳转容易很多,且 git 速度很快。

我要回帖

更多关于 服务器同步 的文章

 

随机推荐