Git和SVN的区别,Git的使用方法大全


什么是Git:

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

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

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


Git 与 SVN 区别点:

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 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
在这里插入图片描述


Git使用教程

一,新建仓库(repository)。
可以使用一个已经存在的目录作为Git仓库或者创建一个空目录。
使用当前目录,初始化git init
使用指定目录,git init newrepo

二,添加新文件
git add filename
方法一 git add 添加多个文件,文件之间以空格隔开
方法二 多次git add
方法三 添加指定目录下的文件
config目录下及子目录下所有文件,home目录下的所有.php文件

git config/*
git home/*.php	git add -A: 提交所有变化 【A 意思为all 所有】在用之前,先git pull 一下最新代码
git add -u: 提交被修改(modifyed)和被删除(deleted)的文件 不包含新(new)文件 【u 意思为 update】 
git add .: 提交被修改(modifyed)和被新建(new)的文件 不包含删除(deleted)

三,提交版本
git commit 提交到版本库
git add 目的是将修改文件由工作区提交到暂存区,可以多次提交
然后commit操作,将文件从暂存区提交到版本库

git commit -m "add new file"	如果您不使用-m,会出现编辑器来让你写自己的注释信息。当我们修改了很多文件,而不想每一个都add,想commit自动来提交本地修改,我们可以使用-a标识。git commit -a -m "Changed some files"
git commit 命令的-a选项可将所有被修改或者已删除的且已经被git管理的文档提交到仓库中。(千万注意,-a不会造成新文件被提交,只能修改。)	

四,发布版本
先从服务器克隆一个库并上传
git clone ssh://example.com/~/www/project.git

现在我们修改之后可以进行推送到服务器。
git push ssh://example.com/~/www/project.git	

五,取回更新
如果您已经按上面的进行push,下面命令表示,当前分支自动与唯一一个追踪分支进行合并。

git pull
从非默认位置更新到指定的url。git pull http://git.example.com/project.git

六,删除
如何你想从资源库中删除文件,我们使用rm。
git rm file

七,分支与合并
分支在本地完成,速度快。要创建一个新的分支,我们使用branch命令。
git branch test
branch命令不会将我们带入分支,只是创建一个新分支。所以我们使用checkout命令来更改分支。
git checkout master
git merge test
如果想删除分支,使用-d标识。
git branch -d test


图片及文档来自菜鸟-点此链接了解其它

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BUAA-OO 第二单元作业“电梯调度”总结与思考

一、需求分析 利用java线程的相关知识实现 1)单部多线程傻瓜调度(FAFS)电梯 2)单部多线程可捎带调度(ALS)电梯 3)多部多线程智能(SS)调度电梯 二、思路分析 1、基于度量的…

递归实现进制转换(C++版)

上次呢&#xff0c;我们留下了一道题&#xff0c;今天我们来一起看一看&#xff1a; 题目链接&#xff1a;https://www.cnblogs.com/gaozirong/p/10547434.html 这是我写的程序&#xff0c;大家可以对照参考一下&#xff08;C&#xff09;&#xff1a; #include<bits/stdc.h…

IDEA 错误:找不到或无法加载主类

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 从昨天开始使用IDEA开始就一直在搭建java环境&#xff0c;许久没有使用过java&#xff0c;刚开始有些生疏&#xff0c;先建了一个最简单…

vscode解决中文乱码

打开文件时出现乱码 文件->首选项->设置&#xff0c;然后在右边用户设置里打开settings.json &#xff0c;输入&#xff1a; “files.autoGuessEncoding”: true, CtrlS保存一下&#xff0c;就搞定了&#xff01; 没有做很大的修改&#xff0c;可以正常使用就行 {&qu…

数据备份、pymysql模块

----------mysql数据备份------------- #1. 物理备份&#xff1a; 直接复制数据库文件&#xff0c;适用于大型数据库环境。但不能恢复到异构系统中如Windows。 #2. 逻辑备份&#xff1a; 备份的是建表、建库、插入等操作所执行SQL语句&#xff0c;适用于中小型数据库&#xff0…

mysql 行转列 (结果集以坐标显示)

create table capacity(type int ,numbers int ,monthst INT ); select type, sum(case monthst when 1 then numbers else 0 end ) 一月, sum(case monthst when 2 then numbers else 0 end ) 二月, sum(case monthst when 3 then numbers else 0 end ) 三月, sum(case months…

(五)springcloud微服务分布式云架构 - 云架构代码结构构建

上一篇介绍了《整合spring cloud云服务架构 - 企业分布式微服务云架构图》&#xff0c;本篇我们根据架构图进行代码的构建。根据微服务化设计思想&#xff0c;结合spring cloud一些优秀的项目&#xff0c;如服务发现、治理、配置化管理、路由负载、安全控制等优秀解决方案&…

ELK 构建 MySQL 慢日志收集平台详解

ELK 介绍 ELK 最早是 Elasticsearch&#xff08;以下简称ES&#xff09;、Logstash、Kibana 三款开源软件的简称&#xff0c;三款软件后来被同一公司收购&#xff0c;并加入了Xpark、Beats等组件&#xff0c;改名为Elastic Stack&#xff0c;成为现在最流行的开源日志解决方案&…

Visual Studio 的码云扩展 V1.0.85 发布

开发四年只会写业务代码&#xff0c;分布式高并发都不会还做程序员&#xff1f; >>> Visual Studio 的码云扩展 V1.0.85 已发布&#xff1a; 针对扩展进行了SDK部分的重写修正克隆窗体和快捷方式的图标颜色随主题变化修正快捷方式 优化用户登录和token处理机制调整了…

shark恒破解笔记4-API断点GetPrivateProfileStringA

这小节是通过断在GetPrivateProfileStringA&#xff0c;然后找到注册码的。 1.运行程序输入假码111111&#xff0c;提示重启。通过这判断这是一个重启来验证的&#xff0c;那么它是如何来验证的呢&#xff1f;观察程序目录下会发现有一个名为“config.ini"的文件 那么判断…

开关语句、循环语句、goto

复习&#xff1a; 1、数据类型&#xff1a;signed char 1 %hhd -128~127signed short 2 %hd -32768~32767signed int 4 %d 正负20亿signed long 4 %ldsigned long long 8 %lld 9天开头的19位数unsigned char …

2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(监听Wi-Fi和APP的数据)

1-STM32物联网开发WIFI(ESP8266)GPRS(Air202)系统方案安全篇(来看一下怎么样监听网络数据,监听电脑上位机软件的数据) 因为那个软件只能监听咱自己电脑上的数据,所以咱就用电脑开个热点,然后让Wi-Fi和APP连接咱电脑的热点,这样就能监听数据了 电脑开个热点 手机APP连接这个热点…

tomcat是否有必要配置环境变量(摘)

之前发表了一篇关于如何安装和配置Tomcat的文章&#xff0c;而最近在开发项目的时候总是报错。后来被公司的大神问了一句&#xff1a;是谁告诉你Tomcat是需要配置环境变量的&#xff1f; 作为新手的我瞬间整个人都不好了&#xff01;于是偷偷百度了一下&#xff0c;终于找到了关…

生成迷宫/C++

小时候&#xff0c;都喜欢玩迷宫&#xff0c;现在的电脑上还可以玩3D类迷宫。 那么每次开始游戏时&#xff0c;迷宫里密密麻麻的道路是怎么生成的呢&#xff1f; 在代码里面&#xff0c;我们把它们想象成一堆像素小格子&#xff0c;当两个格子连在一起&#xff0c;就像一堵墙&a…

selenium操作浏览器的前进和后退

前进关键字&#xff1a;driver.forward() 后退关键字&#xff1a;driver.back() 测试对象&#xff1a;1、https://www.baidu.com/ 2、https://www.sogou.com/ 实例代码&#xff1a; 1 # 导入测试所需的库或者模块2 from selenium import webdriver3 import unittest4 import ti…

阿里云 ECS服务器 开放 8080 端口 -- 图解

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 由于 kong-dashboard 的端口是映射到 8080 的&#xff0c;服务已启动成功却一直访问不了&#xff0c;最后才想起端口没有开放 ... 1. 登…

.NET高级代码审计(第三课)Fastjson反序列化漏洞

0X00 前言 Java中的Fastjson曾经爆出了多个反序列化漏洞和Bypass版本&#xff0c;而在.Net领域也有一个Fastjson的库&#xff0c;作者官宣这是一个读写Json效率最高的的.Net 组件&#xff0c;使用内置方法JSON.ToJSON可以快速序列化.Net对象。让你轻松实现.Net中所有类型(对象,…

IDEA:No SLF4J providers were found.

如果您是用IDEA 的 maven 写的 将slf4j的导入包 更改 为下列代码 <dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.8.0-beta2</version></dependency><dependency><groupId&…

没变强是因为你太舒服(图)

职业生涯很长&#xff0c;对企业而言&#xff0c;它需要你成为一个专才&#xff0c;但从职业发展来看&#xff0c;你需要成为一个全才&#xff0c;方能适应社会的变化。 阻碍你成为全才的不良习惯有很多&#xff0c;有时候我们喜欢趋利避害&#xff0c;拖延症更是让自己定下来…

解决:DuplicateMappingException: Table [xx] contains physical column name referred to by multiple ... .

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 报错如题&#xff1a; Caused by: org.hibernate.DuplicateMappingException: Table [xxx] contains physical column name [comment] …