版本控制工具GIT and SVN 命令对比

2023-05-16

Git 安装

  1. Debian /Ubuntu OS

Apt-get install libcur14-gnutls-dev libexppat1-dev gettext libz-dev libssl-dev

Apt-get install git

   2. Centos /RedHat

       yum install crt-devel expat-devel gettext-devel openssl-devel zlib-devel

      yum -y install git-core

Git 配置

     /etc/gitconfig: 对所有用户都适用的配置, --system选项

     ~/.gitconfig: 用户目录下的配置文件只是用当前用户。 --global选项

    .git/config: 项目的配置文件

Git 用户信息

    配置个人名称和电子邮件

    git config --global user.name "****"

    git config --global user.email xxx@test.com.cn

Git 查看配置信息

    git config --list

Git 工作区, 暂存区和版本库

   工作区: 就是电脑里可以看见的目录

    暂存区: 一般存在.git 目录下的index文件中

    版本库: 工作区里面隐藏的目录.git, 不算工作区,而是git的版本库

  

   Git 初始化

       git init     or  git init newFolder

       git add *.sh   把所有以sh结尾的文件都要添加的暂存区

       git add README  把README文件添加到暂存区

       git commit -m '初始化项目版本'  将目录下sh文件和README文件提交到代码库中

       注意: linux系统中使用单引号‘’, windows中使用双引号“”

   Git Clone

       git clone <repo>  <directory>      directory本地目录

       git add   添加文件到仓库

       git status  查看仓库当前的状态, 显示有变更的文件

       git diff  比较文件的不同,即暂存区和工作区的差别

       git commit   提交暂存区文件到本地仓库

       git reset    回退版本

       git rm   删除工作区的文件

       git mv  移动或者重命令工作区的文件

       git log  查看历史提交记录

       git blame<file>  以列表的形式查看历史修改记录

   

  Git 远程操作

      git remote 远程仓库操作

      git fetch  从远程获取代码库

      git pull   下载远程代码并合并

      git push    上传远程代码并合并

  Git 创建, 切换和合并分支

      git branch (newBranch)    创建

      git checkout (newBranch)    切换

      git merge   newBranch 将newBranch合并到主分支master

      git checkout -b newBranch   创建并切换到newBranch分支

  Git 删除分支

     git branch -d (delBranch)  删除delBranch分支

  Git Log

    git log --online  -n  查看n条历史记录的简洁版本

    git log --reverse   逆向显示所有日志

    git log --author 查找某个用户提交的代码

    指定日期  --since  --before    or    --until   --after   

    git log --oneline --before={3.weeks.ago} --after={2021-04-18} --no-merges

 Git 标签

    git tag

     -a    创建一个带注释的标签

Git 查看标签

    git log --decorate

    git tag

Github 远程仓库

    添加远程仓库   git remote add [localdir] [url]

提交到github 

    Git remote add origin git@******.git

    Git push -u origin master

查看当前远程库

    git remove -v

从远程库下载新分支和数据  git fetch

从远程仓库提取数据并尝试合并到当前分支   git merge

先fetch 后merge, fetch是master分支已经被更新,用merge命令将更新同步到本地

     git push origin master  推送到github

Github删除远程仓库

    git remote -rm [别名]

$ git remote -v
origin    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin    git@github.com:tianqixin/runoob-git-test.git (push)

# 添加仓库 origin2
$ git remote add origin2 git@github.com:tianqixin/runoob-git-test.git

$ git remote -v
origin    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin    git@github.com:tianqixin/runoob-git-test.git (push)
origin2    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin2    git@github.com:tianqixin/runoob-git-test.git (push)

# 删除仓库 origin2
$ git remote rm origin2
$ git remote -v
origin    git@github.com:tianqixin/runoob-git-test.git (fetch)
origin    git@github.com:tianqixin/runoob-git-test.git (push)

=========================================================================

==================================================================================================================================================

SVN 安装

 Linux系统下都自带了SVN(subversion)

If not 使用:yum install subversion

Ubuntu:

Apt-get install subversion

命令

Svn checkout [url] 创建工作区, 和git branch类似

Svn update  更新版本库,即更新工作副本和版本库一致

Svn commit  执行变更和git一致

Svn Rename   更改文件、目录名字

Svn update [-version]更新到指定的版本

Svn revert <file> 文件回退,退到未修改的状态

Svn revert -R <folder>文件夹回退

恢复已经提交的版本, 22当前版本 21是之前的版本

svn merge -r 22:21 readme

Svn创建版本库

Svnadmin create /opt/svn/runoob

启动服务

Svnserve -d -r 目录 --listen-port 端口号

1、svn 服务配置文件 svnserve.conf

svn 服务配置文件为版本库目录中的文件 conf/svnserve.conf。该文件仅由一个 [general] 配置段组成。

[general]
anon-access = none
auth-access = write
password-db = /home/svn/passwd
authz-db = /home/svn/authz
realm = tiku

anon-access: 控制非鉴权用户访问版本库的权限,取值范围为 "write"、"read" 和 "none"。 即 "write" 为可读可写,"read" 为只读,"none" 表示无访问权限,默认值:read。

auth-access: 控制鉴权用户访问版本库的权限。取值范围为 "write"、"read" 和 "none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限,默认值:write。

authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径,默认值:authz。

realm: 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件。默认值:一个UUID(Universal Unique IDentifier,全局唯一标示)。

Svn 查看历史信息

svn log: 用来展示svn 的版本作者、日期、路径等等。

svn diff: 用来显示特定修改的行级详细信息。

svn cat: 取得在特定版本的某文件显示在当前屏幕。

svn list: 显示一个目录或某一版本存在的文件。

如果希望得到目录的信息要加 -v。

如果希望显示限定N条记录的目录信息,使用 svn log -l N -v

Svn 创建副本

Svn copy trunk/ branches/my_branch

合并my_branch到主分支trunk, 先切换到trunk, 然后执行svn update. 最后在将my_branch合并到trunk上

Svn merge ../branches/my_branch

Svn 标签

创建tag  svn copy trunk/ tags/v1.0

查看: ls tags/

查看状态: svn status

提交tag内容: svn commit -m "tags v1.0"

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

版本控制工具GIT and SVN 命令对比 的相关文章

  • 国内最简单易用的源码,Nacos必须榜上有名!

    点赞关注 xff0c 不会迷路 xff01 2021最新学习面试资料 点击一起学习 暗号 xff1a csdn 最新学习资料 43 简历优化资源 最近新组件新的小组 xff0c 开始了新的项目 xff0c 项目的注册组件选择了我们国产的Na
  • 怎么做能防止B站再崩?

    点赞关注 xff0c 不会迷路 xff01 本文转载自 xff1a 敖丙 大家都知道虽然我是一个程序员 xff0c 但是我非常热爱运动 xff0c 比如跳舞 xff0c 这不每天回家睡前我都会在B站舞蹈区学习相关的舞蹈 昨天也不例外 xff
  • kali工具安装

    文章目录 汉化火狐浏览器 xff1a 安装google拼音输入法安装google浏览器安装beefssh安装gdebi安装 汉化火狐浏览器 xff1a 先执行命令 xff1a apt y install firefox esr l10n z
  • java多线程-8(CompletableFuture的简单使用)

    CompletableFuture简单使用 在JDK1 5引入的Future接口表示了一个异步计算返回的结果 但是使用Future获取异步返回结果的时候 xff0c 要么调用阻塞方法get 方法 要么轮询看isDone 是否为true ge
  • ROS导航小车2 AMCL(蒙特卡洛)粒子滤波定位算法(仅作个人记录)

    AMCL原理概念 AMCL adaptive Monte Carlo Localization 自适应蒙特卡洛定位 xff0c A也可以理解为augmented xff0c 是机器人在二维移动过程中概率定位系统 xff0c 采用粒子滤波器来
  • Linux安装docker-compose时使用github.com拒接连接处理

    报错如 xff1a Failed to connect to raw githubusercontent com port 443 Connection refused 主要问题就是拒接服务到github com xff0c 你可以测试pi
  • ESP32-CAM 在 Web 服务器中拍照和显示

    ESP32 CAM 在 Web 服务器中拍照和显示 项目简介所需部件项目概况 安装 ESP32 附加组件安装库安装 ESPAsyncWebServer 库安装 ESP32 的异步 TCP 库 ESP32 CAM 拍摄和显示照片 Web 服务
  • Linux系统常用命令总结

    目录 基本常用命令 xff1a 关机重启命令 xff1a 防火墙相关命令 xff1a 针对于CentOS7系统 重定向和追加 xff1a 打包压缩命令 xff1a vi vim编辑器 xff1a 软件包安装命令 xff1a 文件权限设置 x
  • ROS入门级教程

    目录 前言 一 ROS简介与安装 二 ROS文件系统 三 ROS核心概念 1 节点 2 话题 3 通讯机制 四 ROS的编译与简单使用 五 调试工具 1 Rviz和Gazebo 2 rqt工具 3 rosbag 六 常用指令 1 常用的文件
  • Springboot 框架

    SpringBoot 1 用来简化 spring 初始搭建和开发过程使用特定的方式进行配置 properties 或者 yml 文 件 2 创建独立的 spring 引用程序 main 方法运行 3 嵌入 Tomcat 无需部署 war 包
  • 新建github分支

    新建github分支 xff0c 可以 直接在github仓库上创建 或者 通过git命令创建 这里以 在main分支下创建test分支 为例 方法一 xff1a 直接在github仓库上创建分支 1 进入相应的仓库 xff0c 点击 Sw
  • Linux应用层开发(文件、多线程,多进程、进程间通信)

    文件IO编程 linux 下 切皆 件 xff0c 我们操作外设 标 键盘 磁盘等外设 就像操作 件 样 要如何操作 件与外设 xff0c 就必须熟练掌握 件IO input 写 output读 1 多文件编程 多 件编程 xff1a 把
  • VINS-MONO运行TUM VIO数据集真实轨迹问题处理

    小loser第一次写记录 xff0c 再次记录一下测试TUM VIO数据集碰到的问题及处理 VINS本身输出的数据需要进行格式转换才能用 xff0c 输出文件修改参考这个博客 Ubuntu 18 04 VINS Mono运行与EVO的评测与
  • 对线程和进程的理解

    进程和线程的区别 进程 xff1a 是指运行后的程序 xff0c 是操作系统分配系统资源 xff08 内存空间 CPU xff09 的最小单位 线程 xff1a 每个进程由一个或者多个进程组成 xff0c 线程是CPU进行分配和调度的最小单
  • 【永久解决】Matlab帮助文档设置语言为中文(可以解决预设窗口中无语言设置的情况)中文帮助文档

    问题描述 Matlab帮助文档在试用一段时间后 xff0c 由中文版本变成了英文版本 xff0c 导致在查询帮助文档时非常难过 网上有说通过预设设置帮助语言 xff0c 但很悲惨的是 xff0c 我的Matlab中并没有语言设置模块 情况如
  • STL — 常用容器

    2 STL 常用容器 2 1 string容器 2 1 1 string基本概念 本质 xff1a string是C 43 43 风格的字符串 xff0c 而string本质上是一个类 string和char 的区别 xff1a char
  • Mysql数据库的初始密码及如何修改密码

    数据库初始密码及如何修改密码 初始密码修改密码 初始密码 可能很多小伙伴们下载安装好MySQL后 xff0c 登录时提示你输入密码 xff0c 但是自己不知道密码是什么 xff0c 用下面的方法可以帮助你快速的找到 xff1a step1
  • John 破解shadow 密码

    1 wget https www openwall com john k john 1 9 0 tar gz 2 tar xvf john 1 9 0 tar gz 3 cd john 1 9 0 src 4 make amp make c
  • LVI-SAM代码复现、调试与运行

    一 LVI SAM介绍 LVI SAM是Tixiao Shan的最新力作 xff0c Tixiao Shan是Lego loam和Lio sam的作者 xff0c LVI SAM是Tixiao Shan最新开源的基于视觉 激光 惯导里程计S
  • Intel Realsense D455深度相机的标定及使用(一)——安装librealsense SDK2.0以及realsense-ros

    一 安装Intel RealSense SDK 2 0 Intel RealSense SDK 2 0 的DKMS内核驱动包 xff08 librealsense2 dkms xff09 支持Ubuntu LTS内核版本4 4 4 8 4

随机推荐

  • VINS-Mono详解(1)——feature_tracker部分

    前言 视觉 IMU融合的优势 xff1a 1 视觉可以帮助IMU消除积分漂移和校正IMU的Bias xff1b 2 借助IMU可以帮助视觉系统提升输出频率 xff1b 3 IMU可帮助单目解决尺度不可观的问题 xff0c 帮助双目减少尺度上
  • Intel Realsense D455深度相机的标定及使用(二)——对内置IMU和双目相机进行标定

    标定前需先安装librealsense SDK2 0以及realsense ros xff0c 可参考教程 xff1a Intel Realsense D455深度相机的标定及使用 xff08 一 xff09 安装librealsense
  • 五、ROS学习之订阅T265里程计数据并与stm32通信

    使用ROS读出T265里程计数据 通过节点订阅t265的里程计数据1 订阅T265的里程计信息2 实现linux系统与stm32通信 xff0c 并向stm32发送里程计信息 通过节点订阅t265的里程计数据 我使用的是Kinetic版本
  • 在js文件中调用vue组件

    正常的书写一个vue组件 lt template gt lt div class 61 34 34 gt lt div gt lt template gt lt script gt export default name 39 Subscr
  • BMP180气压传感器详解与示例(STM32 附带源码)

    BMP180气压传感器详解与示例 xff08 STM32 附带源码 xff09 简介工作模式校准数值测试流程第一步 xff1a 微处理器读取校准数值第二步 xff1a 读取温度 气压初始值第三步 xff1a 计算温度 气压第四步 xff1a
  • MAX30102脉搏血氧仪和心率传感器(三)心率计算——时域法

    文章目录 前言一 算法思想二 算法详解1 阈值检测2 等待波形稳定3 FIR滤波 存入缓存区4 检测PPG信号与阈值曲线的交点5 心率计算 三 实际测试1 静止测试2 动态测试 四 总结五 获取工程源码 前言 本章介绍PPG信号的心率计算方
  • 基于51单片机的指纹密码锁设计

    目录 具体实现功能 设计介绍 单片机介绍 设计思路 资料内容 原理图 程序 仿真实现 全部资料 具体实现功能 具体功能 xff1a 本设计采用STC89C52 AT89C52 AT89S52作为主控芯片 xff0c LCD12864液晶显示
  • 基于51单片机的智能台灯设计

    具体实现功能 系统由STC89C52单片机 43 L数码管 43 光敏电阻 43 人体感应模块 43 红外接近传感器模块构成 具体功能 xff1a xff08 1 xff09 亮度不够且有人靠近时台灯自动亮 xff1b xff08 2 xf
  • pyharm快捷键说明

    官方文档 xff1a pycharm gt gt Help gt gt Keymap Reference 1 编辑 xff08 Editing xff09 Ctrl 43 Space 基本的代码完成 xff08 类 方法 属性 xff09
  • 基于51单片机超声波液位控制器设计

    具体实现功能 系统由AT89C52单片机 43 HC SR04超声波测距模块 43 LCD1602液晶屏 43 继电器 43 LED灯指示及蜂鸣器报警模块 43 按键模块 43 电源构成 具体功能 xff1a 1 由HC SR04超声波测距
  • 基于51单片机的电子密码锁设计

    目录 具体实现功能 设计背景 硬件设计 软件设计 原理图 程序 仿真实现 全部资料 具体实现功能 系统由AT89S52单片机 43 AT24C02数据存储模块 43 按键模块 43 LCD1602显示 43 报警模块等构成 具体功能 1 输
  • 基于51单片机智能热水器控制系统

    具体实现功能 系统由STC89C52单片机 43 水位检测传感器 43 DS18B20温度探头传感器 43 按键模块 43 继电器模块 43 报警及指示模块 43 LCD1602显示模块 43 电源构成 具体功能 xff1a 1 LCD16
  • 基于51单片机的火灾报警器

    具体实现功能 系统由51单片机 43 MQ 2烟雾传感 43 ADC0832模数转换芯片 43 DS18B20温度传感器 43 数码管显示 43 按键模块 43 声光报警模块构成 具体功能 xff1a 1 实时监测及显示温度值和烟雾浓度 x
  • 基于51单片机的步进电机控制系统

    具体实现功能 系统由STC89C52单片机 43 单体数码管 43 LED指示灯 43 ULN2003驱动芯片 43 DC 5V步进电机构成 具体功能 xff1a xff08 1 xff09 实现按键控制步进电机正转 反转 加速 减速 停止
  • 基于51单片机的数字时钟(万年历)

    具体实现功能 系统由STC89C52单片机 43 DS1302时钟芯片 43 按键模块 43 LCD1602显示 43 电源构成 具体功能 xff1a 1 可以显示年 月 日 时 分 秒 星期 农历 xff1b 2 按键可以设置闹钟及报警
  • 基于51单片机的排队叫号系统

    具体实现功能 系统由STC89C52单片机 43 按键模块 43 LCD1602液晶屏 43 蜂鸣器呼叫模块 43 电源构成 具体功能 xff1a 1 主机通过按键完成叫号 xff0c LCD1602液晶显示屏显示被叫的号码及服务的柜台号
  • 仿真设计|基于51单片机的简易抢答器

    目录 前言 具体实现功能 设计介绍 51单片机简介 设计方案 资料内容 仿真实现 xff08 protues8 7 xff09 程序 xff08 Keil5 xff09 全部资料 xff08 压缩文件 xff09 前言 全部资料包括程序 K
  • 实物设计|基于51单片机的温湿度检测报警系统

    目录 具体实现功能 xff1a 设计介绍 51单片机简介 设计方案 资料内容 原理图和PCB xff08 AD19 xff09 仿真实现 xff08 protues8 7 xff09 程序 xff08 Keil5 xff09 全部资料 xf
  • 设计分享|74LS148实现按键控制LED灯

    目录 具体实现功能 xff1a 设计介绍 51单片机简介 设计思路 设计内容 仿真图 xff08 protues8 7 xff09 程序 xff08 Keil5 xff09 具体实现功能 xff1a 74LS148实现按键控制LED灯 设计
  • 版本控制工具GIT and SVN 命令对比

    Git 安装 Debian Ubuntu OS Apt get install libcur14 gnutls dev libexppat1 dev gettext libz dev libssl dev Apt get install g