版本管理的概念

版本管理的概念

    版本管理是软件配置管理的基础,它管理并保护开发者的软件资源。

    一个软件从建立,到最后发布上线,如果把每一次提交都算上,你觉得它大概要经历几万个版本?

    版本管理最大的好处就是可以保留我们的历史版本,在代码开发到一半的时候,不至于无故丢失,还可以查看BUG的来龙去脉。那怎样做到这一点呢?如果每一次修改,都保留一个文件副本,那需要多少硬盘才能装的下?

    版本管理种类:集中式的版本管理和分布式的版本管理。实现的控制软件分别有SVN和Git。

 一.SVN是集中式版本管理,大家都提交文件到同一个地方,这服务器的存储压力就大了。因此它对于文件的     版本控制,只记录修改部分,不产生多余的数据。

SVN的介绍

    SVN是Subversion的简称,是一个开放源代码的集中式的版本控制系统。

    集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。

    最大的缺点:这是一个集中式的版本管理,所有的数据都经过中央服务器进行交换同步。如果不能连接到服务器上,基本上不可以工作,如果服务器不能连接上,就不能提交,还原,对比等等。

0-安装svn客户端

1.你们公司用的svn保存记录代码,拿到 svn地址 和账号密码

两个SVN仓库:

http://www.svnchina.com/

http://code.svnspot.com/

2.下载代码  checkout 代码

3.每天开发新代码之前都需要 先update,然后开发,开完后再 commit提交

二、Git是什么?

Git是目前世界上最先进的分布式版本控制系统。

 SVN与Git的最主要的区别? 

SVN的存储需要依赖一个服务器,而git所有的东西是放在线上的。节约成本,省时省力。

    git 是分布式的,svn 不是。

    git 按照源数据的方式存储内容,svn 是按照文件的形式存储

    git 和 svn 中的分支不同。

    git 没有全局版本号,svn 有。

    git 内容的完整性优于 svn。

工作区:个人 PC 中能看到的文件目录结构

暂存区:stage/index,一般存放在.git/index 中,所以 git 中的暂存区也会称为索引。

版本库:工作区中的.git 隐藏文件,不算是工作区,而是 Git 的版本库。

三、在windows上如何安装Git?

    下一步 ---(next)

    安装成功后会出现这两个东西

    运行Git Bash会出现如下结果:

四、GitHub注册

https://github.com/打开GitHub官网 。

熟悉的Hello world,然而并没有什么用。

安装结束后需要进行一些设置

    命令 1 . cd D:  进入 相应的磁盘 

    命令 2 . mkdir  '你自己定义的文件夹名' 

    命令 3 . cd '你自己定义的文件夹名'

    命令 4. pwd 显示(你自己定义的文件夹名)的路径

    命令 5. ll 显示当前文件夹所有子文件,ll -a 显示隐藏和未隐藏文件

    命令 6. echo "hello" >> test.txt    创建记事本并向当前记事本追加hello

    命令 7. cat test.txt    查看指定文件内容

    然后!最重要的步骤来了!!git init

    命令 1 . git init

    显示成功后去相应的文件夹中查看是不是多了一个git文件

    这个文件夹不要乱动!!这个文件夹不要乱动!!这个文件夹不要乱动!!

    这个文件夹就是你的版本库了,把项目放在文件夹下。

    命令1.    git config --global user.name "你的git名称"

    命令2.    git config --global user.email "你的git验证邮箱"

    现在进行一个测试。在当前目录先建立一个readme.txt文件,并且随便写的什么。

五、如何将文件提交到git服务器

1.打开 Git Bash

命令 1. git add ‘文件名’

git add .

git add --all

git add -A

把咱们的文件存放在一个神秘的地方 >>>> 暂存区 (暂存区在本机)

2.把文件提交到仓库中去。

命令 1 . git commit -m '我提交时候的备注(相当于注释)'

3.查看commit状态

命令1  git status  

出现 如下提示就说明commit是成功的。

修改下readme.txt里面的内容。并重新使用git status命令 。

会发现出现了一些变化。git告诉我们,git进行了一些修改,但是这些修改并没有被提交。

4.查看修改内容。

命令1 git diff 你的文件名  会出现更改信息,发现多了两个换行, 多了7654321内容;

将更改后的东西提交上去,和之前一样。先add 然后再commit 。

5.版本退回

命令1. git log          ( 修改日志)

退回

命令 1 . git reset --hard HEAD^  退回到上个版本 如果需要退回好多版本就在后面加上 ^ 例: git reset --hard HEAD^^退回两个版本。

然后去查看readme.txt是否成功退回。

6.删除

    新建一个 b.txt

   然后commit到库中。 并删除。

   命令1. git add  

   命令2. git commit -m ‘备注’

   命令3. rm b.txt  这个是删除b文件的命令

   回过头来看文件夹中的b.txt

    b.txt不见了,查看下状态。

   可以commit,可以放弃修改  git reset --hard 版本号来回复文件。

    后连接本地仓库,并将自己的库push到服务器中去。

    命令1. git remote add originhttps://github.com/你的账号/你的项目名

     命令2. git push -u origin master 将本地的库推送到master分支 (就是推送到服务器上)

在服务器上查看是否推送成功。 

  从现在开始,只需要git push origin master就可以吧本机的推送过去了。

  从服务器拉去数据, git clone 

 命令1. git clonehttps://github.com/yanghuaizhi1210/GitTest

 将服务器端的数据克隆过来。

克隆之后可以直接向当前项目上传文件,直接git push即可

如果输入$ git remote add origingit@github.com:djqiang(github帐号名)/gitdemo(项目名).git

    提示出错信息:fatal: remote origin already exists.

    解决办法如下:

    1、先输入$ git remote rm origin

2、再输入$ git remote add origingit@github.com:djqiang/gitdemo.git 就不会报错了!

    3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section 'remote.origin'. 我们需要修改gitconfig文件的内容

    4、找到你的github的安装路 径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc

    5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!

拓展:标签操作(需要在连接仓库的前提下)

    git tag                  查看标签

    git tag name             创建标签

    git push origin name     上传标签

    git tag -d name          删除标签

分支操作

    git branch               查看分支

    git branch name          创建分支

    git checkout name        选择分支

    git merge name           合并分支(一般需要先选择主分支,然后将其他分支合并到主分支)

    git branch -d name       删除分支

git diff

    git diff                 工作区和暂存区的差别

    git diff —cached         暂存区和版本库的差别

    gif diff HEAD            工作区和版本库的差别

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容