版本控制管理工具培训课程

上传人:陈** 文档编号:193038834 上传时间:2023-03-07 格式:PPTX 页数:54 大小:340.08KB
收藏 版权申诉 举报 下载
版本控制管理工具培训课程_第1页
第1页 / 共54页
版本控制管理工具培训课程_第2页
第2页 / 共54页
版本控制管理工具培训课程_第3页
第3页 / 共54页
资源描述:

《版本控制管理工具培训课程》由会员分享,可在线阅读,更多相关《版本控制管理工具培训课程(54页珍藏版)》请在装配图网上搜索。

1、第第 6 讲讲版本控制管理工具(版本控制管理工具(1)本章目标本章目标q学习学习SVN常用指令常用指令q理解理解SubVersion权限管理所使用的权限管理所使用的3个文件个文件q了解了解TortoiseSVN通过不同的图标识别文件的版通过不同的图标识别文件的版本状态本状态q掌握掌握TortoiseSVN菜单的常用功能菜单的常用功能2本章内容q6.1 SubVersion6.1 SubVersionq6.2 TortoiseSVN6.2 TortoiseSVN3本章内容q6.1 SubVersion6.1 SubVersionq6.2 TortoiseSVN6.2 TortoiseSVN46.

2、1 SubVersion6.1 SubVersionqSubVersionSubVersion简称简称SVNSVN,是一个非常强大的文档版本,是一个非常强大的文档版本管理工具,具有和管理工具,具有和VSSVSS、CVSCVS基本相同的功能。基本相同的功能。qSVNSVN用于用于文档版本管理文档版本管理最为合适,因为它的使用方最为合适,因为它的使用方法非常接近于用户日常使用文件夹来管理文档的法非常接近于用户日常使用文件夹来管理文档的习惯。习惯。q不过不过SVNSVN没有图形化界面,需要使用控制台程序来没有图形化界面,需要使用控制台程序来运行。运行。56.1 SubVersion6.1 SubVe

3、rsionqSubVersionSubVersion和和VSSVSS一样,都是在客户端机器上存放一样,都是在客户端机器上存放一套副本文件供用户使用,用户直接修改本地的一套副本文件供用户使用,用户直接修改本地的副本文件,然后再将其更新到副本文件,然后再将其更新到SVNSVN数据库。数据库。q当多个文件分批次修改后,这些修改的信息并未当多个文件分批次修改后,这些修改的信息并未影响影响SVNSVN数据库,只相当于数据库,只相当于“预提交预提交”,只有进行,只有进行【CommitCommit】操作后,才把这些文件一起】操作后,才把这些文件一起“正式提正式提交交”SVN”SVN数据库。数据库。qSVNS

4、VN使用使用SVN:/SVN:/或或SVN+SSH:/SVN+SSH:/协议,也支持协议,也支持HTTP:/HTTP:/协议。本地访问支持协议。本地访问支持file:/file:/。6什么是版本控制?什么是版本控制?q版本控制就是对在软件开发过程中所创建的配置对象的不同版本进行管理,保证任何时候都能取到正确的版本以及版本的组合。摘自贝尔实验室配置管理的精髓q版本控制(Version Control)是软件配置管理中的重要一环q主要功能:记录开发过程的每一次修改,让开发工作可以随时检查过往的历史和获取正确的版本;是系统的“成长记录”。7为什么要使用版本控制?为什么要使用版本控制?q在协同开发过程

5、中,确保能够:q保存所有更改的记录,防止改动丢失q能够快速回复到特定版本的状态q能够获取其他成员的更改q在单独开发时,上述的前两点对于自己的开发过程管理也有莫大的好处。8版本控制的方式版本控制的方式q两种典型的方式:Lock-Modify-Unlock方式和Copy-Modify-Merge方式,分别以Visual Source Safe和CVS为代表qLock-Modify-Unlock方式:一个文件同一时刻只能有一个人进行修改,可防止冲突,但不利于合作开发;qCopy-Modify-Merge方式:可以多人同时修改一个文件,会有冲突的情况,更强调开发人员的交流,对于合作开发比较合适;9什么

6、是什么是SubversionSubversion?qSubversion是一个开源的版本控制系统,拥有CVS的大部分特征,并在CVS的基础上有更强的扩展,用来代替 CVS 系统。qSubversion的历史q单词“Subversion”的意义q 字面上的意义:Sub+Version,标识Subversion是一个版本控制系统。q 英语中有Subversion这个单词,意思是“颠覆”:Subversion要颠覆CVS的地位。10CVSCVS和和SubversionSubversion的比较的比较SubversionSubversionCVSCVS版本号管理方式版本号管理方式所有文件使用同一版本号

7、每个文件有单独的版本号运行方式运行方式多种运行方式:1.作为操作系统的Demon(如Window Service)独立运行;2.作为开源Web服务器Apache的Web DAV运行;作为操作系统的Demon(如Window Service)独立运行传输协议传输协议file:/,http:/,https:/,svn:/,svn+ssh:/参见CVSRoot的定义对目录的版本管理对目录的版本管理对目录也同样进行版本管理无文件改名文件改名支持需要删除原文件,重新添加改名后的文件,改名后原文件的修改历史丢失。事务性提交事务性提交是否11SubversionSubversion与与CVSCVS相比改进的

8、地方相比改进的地方q统一的文件版本q目录控制:在Subversion中目录的变更也是受控的q支持文件复制、重命名q事务性的提交q高效的分支和标记q扩展能力:Subversion提供了一组API,可以供其他语言直接调用。12使用上的主要不同使用上的主要不同qSubversion的版本号是所有文件共用一个版本号,每一个个文件的改变都会导致总体版本号发生改变;qSubversion的分支/标签都以文件夹的方式显示,而不象CVS只是一个独立的标签;q当作为Apache的Web DAV使用时,Subversion 使用Http协议传输,可以直接在Web浏览器中浏览;13WindowsWindows平台平

9、台SubversionSubversion服务器端的安装配置服务器端的安装配置1.安装程序从http:/subversion.tigris.org获取;2.在Windows平台直接执行安装程序进行安装;3.两种安装方式:l方式一:类似CVS,作为独立服务运行,安装完成后运行如下命令运行Subversion:svnserve-d-r D:SVNStore;可以使用第三方的工具将Subversion添加为Windows的Service(参见http:/clanlib.org/mbn/svnservice/);l方式二:将Subversion添加为Apache的Web DAV运行;这种方式对于Sub

10、version的控制和管理比较方便,但是配置相对比较麻烦。建议:建议:个人使用或者对权限控制等要求不高时以独立服务的方式使用Subversion,当团队开发时使用Web DAV的方式使用Subversion。14SubversionSubversion客户端客户端TortoiseSVNTortoiseSVN的安装和设置的安装和设置q获取安装文件从http:/下载;q安装直接安装,安装完成后会自动集成在资源管理器的右键菜单中;注意事项:安装时注意事项:安装时“ASP_HACK”的选择,如果做的选择,如果做ASP.Net开开发,安装时一定要选择该项。发,安装时一定要选择该项。q设置主要设置:1.语

11、言2.全局忽略模式3.差异查看工具和合并工具4.文件叠加图标5.右键菜单(外观样式)15SubversionSubversion相关软件相关软件q服务器端:支持多种操作系统q客户端:q Subversion命令行程序q RapidSVN:独立的Windows程序,最新版本0.92,仍处于Beta阶段;q TortoiseSVN:和资源管理器完美集成,基于TortoiseCVS的代码开发,使用上和TortoiseCVS极为相似;q AnkhSVN:和Visual Studio集成,可以在Visual Studio中使用Subversion,仍处于开发过程中,最新版本0.60 Beta;功能尚不完

12、善。qWeb浏览器:ViewCVS/WebSVN等,网络程序,可在浏览器中查看SVN信息;16SubversionSubversion的基本概念的基本概念qRepository(文件仓库)qWorkcopy(工作复本)qCheckout(取出)qCommit(提交)qUpdate(更新)qRevision(修订版本)qTag(标签)qBranch(分支)qConflict(冲突)17SubversionSubversion的基本操作的基本操作主要操作:主要操作:q 在服务器端创建文件仓库q 从SVN文件库中取出代码q 把本地文件添加到文件仓库中q 从SVN中删除文件q 文件/目录改名q 提交修

13、改后的文件q 更新本地文件q 比较不同版本的文件q 创建标签q 创建分支q 查看版本分支图186.1 SubVersion6.1 SubVersionq6.1.1 SVN常用指令q6.1.2 SVN权限管理196.1.1 SVN常用指令q1.SVNAdmin create根据公司实际需要并按照软件配置管理计划,根据公司实际需要并按照软件配置管理计划,创创建所需要的建所需要的SVNSVN文档数据库文档数据库。比如:。比如:SVNSVN开发库和开发库和SVNSVN基线库等。基线库等。例如:例如:svnadmin create d:myrepositorysvnadmin create d:myre

14、pository206.1.1 SVN常用指令q2.SVNserve当用户创建当用户创建SVNSVN文档数据库以后,应该先启动该文档数据库以后,应该先启动该数据库然后再进行其他操作。数据库然后再进行其他操作。该命令就是该命令就是启动启动SVNSVN数据库数据库的重要指令,有很多的重要指令,有很多参数可以使用,输入参数可以使用,输入-help-help指令可以查看其参数指令可以查看其参数列表。列表。例如:例如:svnserve helpsvnserve help svnserved r g:svnrep svnserved r g:svnrep/启动启动g g盘上的名为盘上的名为“svnrep”

15、“svnrep”的的SVNSVN数据库数据库21226.1.2 SVN6.1.2 SVN权限管理权限管理q1.svnserve.conf1.svnserve.conf:定义了定义了SVNSVN权限管理的策略权限管理的策略q2.passwd2.passwd:定义了访问定义了访问SVNSVN数据库的用户名和密数据库的用户名和密码码q3.Authz3.Authz:定义了定义了SVNSVN数据库中各目录结构的权限,数据库中各目录结构的权限,以及用户组的信息。以及用户组的信息。236.1.2 SVN6.1.2 SVN权限管理权限管理q1.svnserve.conf1.svnserve.conf:定义了:

16、定义了SVNSVN权限管理的策略权限管理的策略q#:注释作用:注释作用q anon-accessanon-access:定义匿名用户访问:定义匿名用户访问SVNSVN数据库时的权限管数据库时的权限管理的策略理的策略q auth-accessauth-access:定义授权用户访问:定义授权用户访问SVNSVN数据库时的权限管数据库时的权限管理的策略理的策略q password-dbpassword-db:定义:定义SVNSVN数据库安全策略所用的数据库安全策略所用的passwordpassword文件的路径文件的路径q authz-dbauthz-db:定义:定义SVNSVN数据库安全策略所用

17、的数据库安全策略所用的authzauthz文件的文件的路径路径1)none:定义用户不可以访问数据库;:定义用户不可以访问数据库;2)write:定义用户对数据库文件具有读写权限;:定义用户对数据库文件具有读写权限;3)read:定义用户对数据库文件只有读权限:定义用户对数据库文件只有读权限246.1.2 SVN6.1.2 SVN权限管理权限管理q2.passwd2.passwd:定义了访问定义了访问SVNSVN数据库的用户名和密数据库的用户名和密码码q该文件记录了该文件记录了SVNSVN数据库授权用户的登录名和密码。数据库授权用户的登录名和密码。qusersusers标签下定义了用户名和密码

18、。等号前面的标签下定义了用户名和密码。等号前面的是用户名,后面的是密码。是用户名,后面的是密码。256.1.2 SVN6.1.2 SVN权限管理权限管理q3.Authz3.Authz:定义了定义了SVNSVN数据库中各目录结构的权限,数据库中各目录结构的权限,以及用户组的信息。以及用户组的信息。qgroupsgroups标签下定义了用户组,前面加标签下定义了用户组,前面加用于区用于区分用户名。用户组等号后面是成员列表,用逗号分用户名。用户组等号后面是成员列表,用逗号隔开。隔开。定义文档目录的路径。如定义文档目录的路径。如/代表根目录代表根目录定义用户对目录的访问权限。定义用户对目录的访问权限。

19、例如:例如:/Myproject/Myproject Jim=r Jim=r 表示表示JimJim可以读该目录可以读该目录 Jack=Jack=表示表示JackJack不可以访问该目录不可以访问该目录26本章内容q6.1 SubVersion6.1 SubVersionq6.2 TortoiseSVN6.2 TortoiseSVN276.2 TortoiseSVN6.2 TortoiseSVNqTortoiseSVNTortoiseSVN是配合是配合SVNSVN使用的客户端工具。它的使用的客户端工具。它的工作方式和日常使用文件夹保存文档的习惯相同。工作方式和日常使用文件夹保存文档的习惯相同。q

20、TortoiseSVNTortoiseSVN实现了实现了SVNSVN的全部指令,弥补了的全部指令,弥补了SVNSVN缺缺少图形化操作界面的不足。少图形化操作界面的不足。SVN(Subversion)简易入门教程简易入门教程.doc286.2 TortoiseSVN6.2 TortoiseSVNq建立建立SVNSVN数据库以后,在客户端需要使用数据库以后,在客户端需要使用SVN SVN CheckoutCheckout命令检出。命令检出。q在在SVNSVN控制下的每一层目录中都有一个控制下的每一层目录中都有一个隐藏的文隐藏的文件夹件夹。q当用户在客户端当用户在客户端SVNSVN文件夹中对文档进行

21、变更,文件夹中对文档进行变更,这些变更信息首先存放在这个隐藏文件夹里。只这些变更信息首先存放在这个隐藏文件夹里。只有当用户执行有当用户执行CommitCommit操作时,才从隐藏文件夹里操作时,才从隐藏文件夹里读取文档变更的信息,并更新读取文档变更的信息,并更新SVNSVN服务器端的数服务器端的数据。据。29TortoiseSVN使用的不同文件状态的图标在本地新建文件在本地新建文件将本地文件添加到将本地文件添加到SVN数据库(未提交)数据库(未提交)处于正常状态的文件处于正常状态的文件处于修改状态的文件处于修改状态的文件被锁定的文件被锁定的文件30TortoiseSVN常用功能q1)Creat

22、e repository该功能代替该功能代替SubVersionSubVersion的的SVNServeSVNServe指令来指令来创建创建一个一个SVNSVN数据库数据库。SVNSVN提供提供2 2种数据库类型用于存放文档。一种是种数据库类型用于存放文档。一种是效率更高的效率更高的FSFSFSFS类型,另一种是较老但更稳定类型,另一种是较老但更稳定的的Berkeley Database(BDB)Berkeley Database(BDB)作为版本数据库的作为版本数据库的后台。后台。31TortoiseSVN常用功能q2)Import 初始化导入数据在你要导入到在你要导入到SVNSVN数据库的

23、文件夹内右键点击数据库的文件夹内右键点击【TortoiseSVN-ImportTortoiseSVN-Import】,】,URL of repositoryURL of repository输入相应的输入相应的SVNSVN数据库地址,点击数据库地址,点击OKOK完成之后目录没有任何变化,如果没有报错,数完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的数据库中据就已经全部导入到了我们刚才定义的数据库中。【Export】可以把可以把SVN数据库里的数据导入到指定的目录里。数据库里的数据导入到指定的目录里。32TortoiseSVN常用功能q3)SVN Checkout

24、将本地目录与SVN数据库对应目录关联起来。并且更新SVN数据库中的文档到本地目录。用户第一次连接用户第一次连接SVNSVN数据库时需要使用该功能。数据库时需要使用该功能。33TortoiseSVN常用功能q4)Add将本地目录或者文件添加到SVN数据库中。在本地在本地SVNSVN相应目录下创建一个文件或者目录,右相应目录下创建一个文件或者目录,右键选择该文档或目录并点击键选择该文档或目录并点击【AddAdd】菜单,该文件菜单,该文件状态转为状态转为“Add“Add图标图标”。此时该文件并没有真正提。此时该文件并没有真正提交到交到SVNSVN数据库。数据库。当右键选择该文件,点击当右键选择该文件

25、,点击【SVN CommitSVN Commit】菜单,菜单,才正式向才正式向SVNSVN数据库提交该文件。数据库提交该文件。34TortoiseSVN常用功能q5)SVN Update 获取SVN数据库中最新文档,相当于VSS中的【Get Latest Version】功能。右键点击右键点击SVNSVN客户端相应目录,并选择【客户端相应目录,并选择【SVN SVN UpdateUpdate】菜单。弹出的对话框里会显示有哪些文】菜单。弹出的对话框里会显示有哪些文件已经被更新到客户端。件已经被更新到客户端。35TortoiseSVN常用功能q6)Revert 在进行【Commit】之前,该功能可

26、以取消对本地SVN数据库文档所做的任何改动,就像很多工具的【Undo】功能一样。右键选择某个修改后的文档或者某个文件夹,点右键选择某个修改后的文档或者某个文件夹,点击【击【RevertRevert】菜单,在弹出的对话框里勾选需要】菜单,在弹出的对话框里勾选需要进行还原的文档列表,相应的文档将被还原。进行还原的文档列表,相应的文档将被还原。36TortoiseSVN常用功能q7)Show Log 可以查看SVN数据库中文档变更的历史记录。右键点击某个文档,选择【右键点击某个文档,选择【Show LogShow Log】菜单,弹】菜单,弹出该文档历史变更信息的列表。出该文档历史变更信息的列表。37

27、TortoiseSVN常用功能q8)Update to Revision 追溯文档版本变更的历史记录,并可以获取之前任意版本的文档。右键选择某一文件点击【右键选择某一文件点击【Update to revisionUpdate to revision】菜单,在弹出提示框里点击【菜单,在弹出提示框里点击【Show LogShow Log】按钮,】按钮,选择需要还原到的版本,点击【选择需要还原到的版本,点击【OKOK】,返回的提】,返回的提示框里示框里RevisionRevision显示对应的版本号。点击【显示对应的版本号。点击【OKOK】,】,即可还原到相应的历史版本。即可还原到相应的历史版本。3

28、8TortoiseSVN常用功能q9)Rename 对SVN数据库中的文档或目录进行重命名操作。该操作原理是将原文件复制一份并用新名称进行该操作原理是将原文件复制一份并用新名称进行命名,然后将原文件进行删除。命名,然后将原文件进行删除。右键选择某一文档,点击【右键选择某一文档,点击【RenameRename】菜单。进行】菜单。进行重命名后,点击【重命名后,点击【CommitCommit】菜单,即更新】菜单,即更新SVNSVN数据数据库里的文档。库里的文档。39TortoiseSVN常用功能q10)Revision Graph 将文档之间的演变关系生成图表,使用户更清楚文档的变更过程。右键选择某

29、个文档,点击【右键选择某个文档,点击【Revision GraphRevision Graph】菜】菜单,弹出对话框显示文档之间的关系。单,弹出对话框显示文档之间的关系。再右键点击某个版本图例,选择【再右键点击某个版本图例,选择【Show LogShow Log】菜】菜单可以查看该版本的历史信息。单可以查看该版本的历史信息。40TortoiseSVN常用功能q11)Get Lock 为文档加锁,保护该文档不被其他用户修改。右键某个文档,点击【右键某个文档,点击【Get LockGet Lock】菜单,弹出对】菜单,弹出对话框显示哪些文件将被加锁,并输入加锁理由。话框显示哪些文件将被加锁,并输入

30、加锁理由。对自己锁定的文档,还可以右键点击【对自己锁定的文档,还可以右键点击【Release Release LockLock】进行解锁。】进行解锁。41TortoiseSVN常用功能q12)Diff 修改完本地文档,未进行【Commit】操作,该功能可以对比本次修改的内容与修改前有什么不同。42TortoiseSVN常用功能q13)Delete 删除本地文档或目录。该功能并没有真正删除文档或目录,只有再点击该功能并没有真正删除文档或目录,只有再点击【CommitCommit】菜单,才删除】菜单,才删除SVNSVN数据库中对应的文档数据库中对应的文档或目录。或目录。43TortoiseSVN常

31、用功能q14)Clear Up 更新客户端与服务器端的文档版本一致。当客户端文档版本与服务器不一致时,会使用黄当客户端文档版本与服务器不一致时,会使用黄色感叹号图标进行标示。用户可以使用【色感叹号图标进行标示。用户可以使用【Clear Clear UpUp】功能将客户端与服务器端更新一致。】功能将客户端与服务器端更新一致。44TortoiseSVN常用功能q15)Settings 配置TortoiseSVN工具的系统参数。45在项目开发过程中的使用(一)q 管理员安装、配置SVN服务器,设置用户信息,创建文件库、模块;q 用户开始在SVN上工作,并随时将新的工作结果提交到SVN文件库上;q 同

32、时用户随时更新自己本地的工作复本,以获得其他人的修改;q 当开发工作进行到一定阶段(里程碑)要发布版本(包括测试版本)时,在SVN中创建标签,标识当前发布版本的名称;q 如果有每日构建过程,可以按照日期每天创建一个标签;46在项目开发过程中的使用(二)q 创建标签和开发互不干涉,开发工作可以继续进行;当已发布的版本发现Bug时,可以从SVN中获取各次发布的版本进行比较,以确定是在什么版本引入的Bug;q 如果正在开发新版本时,发现旧版本存在Bug,可以在旧版本的基础上创建分支,在分支上修改旧版本的Bug,当旧版本上的Bug修改完成后,可以将该分支上的修改合并到主版本上来。从版本控制的角度来看,

33、系统的开发过程就是不断地重复以从版本控制的角度来看,系统的开发过程就是不断地重复以上的过程。上的过程。47SVN使用中的常见问题q提交时提示文件已经被修改,需要更新;原因:原因:多人同时修改同一文件,在提交前其他人已经抢先提交到SVN服务器中,导致该错误;解决方法:解决方法:对工作复本中的文件进行更新即可。q更新时提示文件发生冲突;原因:原因:多人同时修改同一文件的同一部分,SVN无法自动进行合并,导致该错误;解决方法:解决方法:对工作复本中的文件和服务器的文件进行比较,手工合并即可。48使用SVN应该q 经常更新:由于文件可能有多个人修改,应该经常更新你的工作拷贝中的文件,这样能降低发生冲突

34、的可能性;q 提交前先在本地进行测试:不允许将有错误的文件提交到服务器上;q 提交时一定要写备注:备注有助于其他人(包括三个月后的你自己)理解你对文件所做的修改;q 提交文件时注意要提交一项改动所对应的所有文件修改:如ASP.Net开发中一个改动可能同时涉及.aspx文件、.aspx.cs文件和.resx文件,需要同时提交;q 对于每一个发布的版本都要建立标签:当用户告诉你发生某个问题时,你可以迅速地追踪到问题是在哪个版本引入的,如果有每日构建,甚至可以每天都建立一个标签;q 使用有意义的标签名/分支名;49使用SVN不应该q不提交自己的工作内容;q提交时不写备注;q不使用标签和分支;q使用无

35、意义的标签/分支名称;q对不需要提交的文件(如临时文件)也提交到SVN中;50相关网站51参考资料52Q&A53q9、静夜四无邻,荒居旧业贫。23.3.723.3.7Tuesday,March 07,2023q10、雨中黄叶树,灯下白头人。22:51:1922:51:1922:513/7/2023 10:51:19 PMq11、以我独沈久,愧君相见频。23.3.722:51:1922:51Mar-237-Mar-23q12、故人江海别,几度隔山川。22:51:1922:51:1922:51Tuesday,March 07,2023q13、乍见翻疑梦,相悲各问年。23.3.723.3.722:5

36、1:1922:51:19March 7,2023q14、他乡生白发,旧国见青山。2023年3月7日星期二下午10时51分19秒22:51:1923.3.7q15、比不了得就不比,得不到的就不要。2023年3月下午10时51分23.3.722:51March 7,2023q16、行动出成果,工作出财富。2023年3月7日星期二22时51分19秒22:51:197 March 2023q17、做前,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。下午10时51分19秒下午10时51分22:51:1923.3.7q9、没有失败,只有暂时停止成功!。23.3.723.3.7Tuesday,

37、March 07,2023q10、很多事情努力了未必有结果,但是不努力却什么改变也没有。22:51:1922:51:1922:513/7/2023 10:51:19 PMq11、成功就是日复一日那一点点小小努力的积累。23.3.722:51:1922:51Mar-237-Mar-23q12、世间成事,不求其绝对圆满,留一份不足,可得无限完美。22:51:1922:51:1922:51Tuesday,March 07,2023q13、不知香积寺,数里入云峰。23.3.723.3.722:51:1922:51:19March 7,2023q14、意志坚强的人能把世界放在手中像泥块一样任意揉捏。20

38、23年3月7日星期二下午10时51分19秒22:51:1923.3.7q15、楚塞三湘接,荆门九派通。2023年3月下午10时51分23.3.722:51March 7,2023q16、少年十五二十时,步行夺得胡马骑。2023年3月7日星期二22时51分19秒22:51:197 March 2023q17、空山新雨后,天气晚来秋。下午10时51分19秒下午10时51分22:51:1923.3.7q9、杨柳散和风,青山澹吾虑。23.3.723.3.7Tuesday,March 07,2023q10、阅读一切好书如同和过去最杰出的人谈话。22:51:1922:51:1922:513/7/2023

39、10:51:19 PMq11、越是没有本领的就越加自命不凡。23.3.722:51:1922:51Mar-237-Mar-23q12、越是无能的人,越喜欢挑剔别人的错儿。22:51:1922:51:1922:51Tuesday,March 07,2023q13、知人者智,自知者明。胜人者有力,自胜者强。23.3.723.3.722:51:1922:51:19March 7,2023q14、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2023年3月7日星期二下午10时51分19秒22:51:1923.3.7q15、最具挑战性的挑战莫过于提升自我。2023年3月下午10时51分23.3.722

40、:51March 7,2023q16、业余生活要有意义,不要越轨。2023年3月7日星期二22时51分19秒22:51:197 March 2023q17、一个人即使已登上顶峰,也仍要自强不息。下午10时51分19秒下午10时51分22:51:1923.3.7MOMODA POWERPOINTLorem ipsum dolor sit amet,consectetur adipiscing elit.Fusce id urna blandit,eleifend nulla ac,fringilla purus.Nulla iaculis tempor felis ut cursus.感 谢 您 的 下 载 观 看感 谢 您 的 下 载 观 看专家告诉

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!