×
大家都在搜

微信扫码登录

使用验证码登录

QQ登录

只需一步,快速开始

+发表新主题
分享
开启左侧

新闻提要git与svn原理及区别图解

[复制链接]

新闻提要git与svn原理及区别图解

岁月如歌 发表于 2024-6-21 12:15:28 浏览:  49 回复:  0 [显示全部楼层] 回帖奖励 |倒序浏览 |阅读模式

这是一个
好了记录下吧一直再用,有些命令页忘记了,可以自己看看,将其分享出来



世界上有一条很长很美的路,叫做梦想





工作区--暂存区--本地仓库--》远程仓库

此工作流程犹如两军对垒,交火必然不会在自己城堡中,首先指挥官派出将士到瓮城做好准备,

敌方同样如此,比较终在战场区域,厮杀,

此时此刻我想吟诗一手

疆场厮杀硬碰硬,未想兵戈出真情,你我本为同手足,别再卷了行不行

肯定是不行。。。

想必看完图文并茂的寓意,应该懂得了此工作流程非常重要!!!是的,很重要,在我们工作中,或,是必一个的,推荐,它是什么可以断开发分布式版本管理工具,G是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。则是集中式版本状态管理工具


与区别

1是分布式的,是集中式的。(比较核心)

2是每个历史版本都存储完整的文件,便于恢复,是存储差异文件,历史版本不可恢复。(核心)

3可离线完成大部分操作,则不能。

4有着更雅的分支和并现。

5有着更强的撤销修改和修改历史版本的能力

6速度更,效率更高。

7G分支廉价,SVN分支昂贵,G分支是指针指向某次提交,而SVN分支是拷贝的目录。这个特性使G的分支切换非常迅速,且创建成本非常低。

而且G有本地分支,SVN本地分支。在际开发过程中,经常会遇到有些代码没写完,但是需紧急处理其他问题,若我们使用G,便可以存储临时改动就可以将临时写的代码存起来,等做完着急处理的工作可以使用恢复改动。。。

基于以上区别,有了很明显的势,特别在于它具有的本地仓库。


集中管理都有一个服务器,用来保存文件,协作开发者需要通过客户端连到这台服务器,进行协作开发(更新、提交)



S的特点

在用性这方面,SVN会好得多,简单上手,对新手很友好。但是从另外一方面看,G命令多意味着功能多,若我们能掌握大部分G的功能,体会到其中的奥妙,会发现再也回不去SVN的时代了。






命令
1初始化仓库(中C+S+可以显示隐藏文件)

如果初始化之后看不到文件夹则可以通过-查看
也可以通过命令--将隐藏的文件显示出来
2查看文件状态
3-"对本次修改的具体描述"


查看操作


1

查询日志的命令


2
--=
美化日志格式的命令日志会显示在一行


3

查看之前所有日志例如关闭了明天再打开



分支操作
注意:切换分支需要先提交到暂存区,不然切换不过去的



1

查看本地分支


2
-
查看远程分支


3
-
查看所有分支(本地+远程)




4

创建分支(本地)


5

切换分支(本地)


6
-
创建并切换分支(本地)


7
-
删除本地分支(注意,如果当前在该分支,必须先切到其他分支,再删除该分支)


8
-D
强制删除本地分支(适用于用-删除报:XXX(分支有未并的更改)时,想强制删除分支的情况)







提交操作
@活在风浪里1334132303@



1

提交单独文件


2

将所有修改添加到暂存区


3
-""
提交信息描述


撤销




1
HEAD
从暂存区撤回,执行这个操作后,后悔了,想回到这个操作之前的状态


2
--
可撤销工作区文件的修改


3
--HEAD^
[回退到上一个版本]回退上一版本


4
--HEAD^^
[回退到上二个版本(以此类推)]


5
--HEAD~2
[回退到上二个版本(以此类推)]


6
--
已经提交本地仓库撤回到暂存区[根据撤回具体版本]


7
--
撤回远程仓库的提交








撤销的两种情况

查询出有若干次提交,由近到远为(4,3,2,1),然后使用--2将版本回退到为2的版本,这时突然后悔了,想要再回到3或者4的版本

有两种情况:

(1)3或4的更改已经到远程

这种情况下,即使终端被关闭了,也是可以从远程仓库查到3、4的,然后直接执行--34即可。

(2)3或4的更改未到远程

这种情况下,如果你在之前执行过的话(且终端没有被关闭),终端会有3、4的记录,找到后执行--34即可。但如果之前没有执行,那么由于执行了--2,3和4的就法通过查到了,那么应该怎么办呢提供了一个可以查询之前的执行过的命令。


下载、
首步:下载工具,下载,选择适自己的版本进行安装。




第二步:安装完成后,鼠标右键找到G,双击打开。



多人协作开发
1、首先,你需要在远程仓库创建一个新的项目(、或是你自己的远程服务器),这个新的项目默认会有一个主分支,现在你需要新建一个分支,这个分支就是所谓的主战场,在以后的开发中,就在这个以及下的分支进行开发。

2、然后使用命令到一个空的文件夹

3、克隆下来的这个项目相当于你在远程创建的那个项目的镜像,所以现在你本地的项目里也有个分支,当然也有分支,现在切换到分支

4、现在就可以在这个分支上新建自己的分支愉的开发了,命令-1

5、由于是多人开发,另一个人也可以以同样的方式(经历2、3、4步骤后)新建一个自己的分支2命令-2

6、在1或2开发完成后,需要提交到本地仓库,在1分支下使用命令和--‘’

7、提交完之后,需要汇总到分支上,先切回分支,命令,这个时候是没有你在1上修改或添加的东西的,需要并之后才会有;

8、并在分支下使用命令1

现在就可以在分支下看到你在1分支下修改的东西了

9、提交并到分支之后就是提交到远程仓库的分支,可以先看一下现在都有什么分支,命令-

10、提交到远程命令

11、现在远程仓库的分支上已经是比较新的代码了;比较后再把远程的分支并到远程的主分支上就可以了。一般主分支主要是存放比较稳定版本的版本,分支才是比较活跃的。
图形事例




需要输入用户和密码址开头配置公钥不需要址开头@

冲突概念
当然还有在父分支并子分支的时候如果AB子分支同时修改了,相同地方,会提示冲突,此行为需人为解决冲突,达到理想效果,
临时保存修改不建议意义的提交本地仓库所以需要临时保存修改
临时更改保存可以这样理解,假如有一个急活可以先暂时保存,去做急活,存储临时改动就可以将临时写的代码存起来,等做完着急处理的工作可以使用恢复改动,

推送方式
首种:'远程地址'分支推送不上去远程仓库里有别人的东西,需要先拉取在推送'远程仓库'分支

采用第二种推送方式:1如果远程仓库有内容,要先拉取比较新代码'远程地址'||在线上建仓库默认为主分支2推送'远程地址'||3起别'远程仓库'可以理解为将远程地址赋值给31如果报错说已经存在缓存注意:使用清除远程仓库地址等信息'远程地址'4再次推送--记住推送地址以及分支,下次直接用推送不需要每次将远程地址填上了,也不需要指定分支了,应为-是记住推送地址以及分支

克隆仓库克隆远端数据仓库到本地:仓库地址拉取远程仓库中比较新的版本:远程仓库地址分支称


组长可以有两种方式添加组员
邀请别人成为当前项目的开发者,别人就可以向公共仓库推送代码,不是开发者只有克隆权限不能推送


首种:
进入仓库-------M-----首次添加会弹出密码输入框------I(输入你邀请的B程序员账号)----发送邀请------B程序员登陆邮箱接受邀请------B程序员可以向仓库推送代码

第二种:
将组员的公钥添加到组长的公钥



忽略清单假如不推送_
创建文件


点击项目文件,右键选择GB进入命令行,输入,生成文件。

在生成的文件里输入你要忽略的文件件及其文件即可。


配置规则:

以斜杠“”开头表示目录;以星号“*”通配多个字符;以问号“”通配单个字符;以方括号“[]”包含单个字符的匹配列表;以叹号“!”表示不忽略(跟踪)匹配到的文件或目录。对于配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效。
#包文件
_

#过滤所有文件
*

#过滤某个具体文件


#打包文件

更新中

,可点击上面演示按钮看HTML页面效果,有需要可直接下载或开通SVIP终生会员全站免费下载。




从需求端看网盘源码更符合消费者的心理预期,愿意为心仪的事物买单。https://www.uihtm.com/thinkphp/19416.htmlHTML源码网(www.uihtm.com)提供div+css3响应式模板包括:网页模板、企业模板、商城模板,以及h5网站,jQuery网页特效,wp主题等8000G源码免费模板下载。