版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TortoiseGit 用户手册 1说明 11 安装MsysGit 12 安装TortoiseGit 63 配置TortoiseGit 63.1 生成公钥 63.2 配置用户(重要) 73.3 配置msysgit 74 TortoiseGit 的使用 84.1 克隆远程的版本库 84.2 使用 TortoiseGit 本地建库 104.3 向仓库中添加内容 104.4 推到服务器 134.5 更新版本库 154.5.1 git pull 154.5.2 git fetch 164.6 分支 164.6.1 创建分支 174.6.2 分支切换 174.6.3 分支合并 184.7 版本差异 18
2、4.7.1 两个版本的差异 184.7.2 查看未提交的修改 194.8 撤销某次操作 204.9 Git Resolve 205 Git 中冲突的解决 215.1 逻辑冲突 215.2 树冲突 225.3 内容冲突 236 Git 分支管理策略 256.1 Master分支(主分支) 266.2 开发分支 Develop 266.3 临时性分支 27功能分支 27预发布分支 28修补 Bug 分支 28TortoiseGit用户手册说明我们可以把CVS SVN拿来和GIT比较但是不要拿它们来思考GIT本文档只是日常工作中 GIT的一些使用的简单归纳,旨在帮助大家快速用上GIT,先能够用起来,
3、知其然后再去究其所以然。本文档主要是关于Git图形界面客户端(TortoiseGit)的使用,但是安装 TortoiseGit前必须安装 windows下的Git版本 MsysGit。注意:本人安装过其他版本的msysgit和tortoisegit ,安装界面略有不同。1 安装 MsysGitMsysgit是Git版本控制系统 Windows下的版本。msysGit有个简单的 GUI工具,及简单的Explorer集成;但它自带的 Bash (命令行式)非常好用,深得 Linux的真传。下载地址 (Git-180-preview20121022.exe ):http:/code.google.C
4、om/p/msysgit/downloads/listCancel选择安装目录:Select Desbnation Location Where should Git be installed?© Git SetupSetup will install Git into tfie following Folder.To continue, dick Ne>t. If you would like to select a different folder r dick Browse.D: program filesitbrowseAt least 75,4I*E of free
5、disk space is reqiired.htt 口; J/msy /iLqoaqlsEcI e,匚 qe,< Rmck Hext > I Caricel1,017 KB三IQ” KB<BackGt SetupSelect ComponentsWhich components should be installed?Select the components you want to instal; dear the components you do not want to install. Cbck Next when you are ready to continue
6、.k E In the Quick LaunchL V On the DesktopJ Window Explorer integration-Q Simple context menu (Registry based)卜 Git Bash HereI世 Gt GUI Here。Advanced context menu (git-cheetah plugin)J Associate .git* configuration files with the default text editor3 Associate .sb files to be run with Bash口 Use a Tru
7、eType font in all console wndows (not only for Gt Bash)Current selecbon requres at least 76T MB of disk space.http:/msy5git.g ooglecode .com/Cancel设置如何使用 GIT命令行,按默认设置,使用软件自带的BASH风格的命令行即可:Q Gft SdtupL1JAdjusting vour PATH environmentHtwv would you like to use Git from the command line?u Use Git B>
8、ash onlyThis :s frit most eari«rvaty& ehoi« f you are 七6式kncd about the stability of yotr EEbem, Your PATH will not be modified.Run 石兀 from the Windows Comma nd Prom ptThis option 国 conadered safe and no oonflicte Lvith otfier tools are known.Orily Git vtill be ddded to ycur PATH. Use
9、this opUon if you want to u 至 Gt from a CygMn Prompt make sure to not haw Cyg(A-in's Gitinstslled).Run -Git and induded Unix toos from the Windows 匚orriEand PromptBoth Gt did ii 恒 accwnfMnyirrg Unix to oh will be added tn “out PATH.Warning; This will override Windows tools like find.exe and sart
10、exe. Select this option only if you understand the im plicationshttp: "nnFinish5Qk ggqleco de. com/金 gack Next >Cancel配置版本控制中文本文件的换行风格,按系统默认设置即可(即从版本库中取出时使用Windows系统的“回车+换行”风格,存入版本库时使用Unix系统的“换行”风格)。Git,蛾叩_但Configuring the line end ing conversioresHow shculd Git treat line endings in test fi
11、les?< Sack Next >Cdncel正在安装:安装完成:Completing the Git Setup WizardSetup lias firhiehed installing Git on -your connpij ter. The dpphca bon may be iBundied t>y 5etectir the instiled icons.Click Finish to exit Setup.17 View REleaseN0tes.rtf2安装To安iseGitTortoiseGit只是 GUI工具,使用它需要先安装MsysGit,这是正宗的 G
12、it之 Windows版本。其用法类似于 TortoiseSVNL下载地址 (TortoiseGit--32bit ):http:/code.google.eom/p/tortoisegit/downloads/list开始安装:一路点击"next"即可。3 配置 TortoiseGit3.1 生成公钥生成SSH安全密钥,提供给 GIT版本库管理员以访问Git版本库,点击桌面上生成的图标然后执行执行"ssh-keygen”生成自己的公钥:.iDrhws.,iinegubKSaftBox一路回车即可完成操作, 这么操作的话就是没有给自己的私钥设置密码,
13、也可以在执行过程中设置私钥密码的。生成的公钥和私钥的目录是:1aI 端 1a EQ q摩前三朝注MH以4/1。W42交棒I20135 1BJ2f B 袁相2013/4/11 g:48文他看见没,id_rsa就是私钥,id_rsa.pub就是公钥,将id_rsa.pub复制一份,然后重命名,发 送给GIT版本库的管理员即可。3.2 配置用户(重要)在桌面的空白处右键TortoiseGitsetings:它 I ortoi5edrtSVN Chetkcvt,Mortoi二e,UN图形.显性.Git Clcne.Git Creat&曾。营上口,here.,石! About选择“ Git”,然
14、后在“ Name”和“ Email”中填入相关用户信息即可:;/ Settings - Tortci5etiit3.3 IESl msysgit这一步就是为什么要安装msysgit 了,TortoiseGit是在它上运行的。完成了 msysgit的配置我们就可以开始使用TortoiseGit 进彳f clone > pull、create branch、push 等操作了。4 TortoiseGit 的使用本例中GIT版本库相关信息如下:GIT 版本库地址:“62”操彳GIT版本库的用户名:root测试项目的名称:project1本地测试目录:D: gittest4.
15、1 克隆远程的版本库例:服务器的 project1 仓库 clone 至U D:gittest : 在test目录上右键选择"Git clone”:然后URL输入:root62:project1.git ,选择“Web”,会自动生成存放仓库的目录:D:gittestproject1 ;最后“ OK'开始clone (如果的你的私钥设置了密码还有下面的提示,输入密码即可)然后就看见了 success的提示窗口:D:'gittest - Git Command Progress - Tortoi5eGitgit.exe clajie -pregress
16、 三督 1,BrDGtfllO_ 17 _lS_lG2:projeet;1 二 gittE b fpz:o2i e ctl *Cloningf into 'D二tyit'ke旦LtpEE3:E!C2化L' -, warningz 丫口n appear "bo have clcneff an emptsy reposit;gry. Sacceaa (1104£4 ms g 2013/4/12 11:59:55>Glos-e4n这样我们就完成了一次远程仓库的clone,因为我的远程仓库是新建的里面是空的,所以给了个警告说是我克隆了一个空仓库,没关系
17、的。(看下你的D:gittestproject1里面是不是有个.git的目录?如果没有就是隐藏了)4.2 使用TortoiseGit本地建库选中某文件夹按右键,选才G Git Create repository here就可以创建库了:Git InitGit GuiOft bash共享, H <jil Clui c-p它 lortoiseGit鼠: WM Checkout .hJortoi c&i/hd属性在出现的窗口中,不勾选选项,直接按OK:在目录中就会出现一个名为 .git的隐藏文件夹,所有库的相关内容都会存在这个文件夹中.以后不管这个项目添加多少个文件夹,整个库只会有这一
18、个管理文件夹,这和CVS和SVN有较大 差异。提示:这里所建的仓库只是用说明Git的一个本地建库的功能,与前面和后面的内容是相互独立的,所以大家别误解这一步到底是做什么的。4.3 向仓库中添加内容这一步是在本机完成的,完全可以不需要网络脱离服务器的。4.4 那一步我们clone 了一个空的版本库,现在为这个库添加目录和文件。先给D:gittestproject1 创建三个目录:*计茸机 SOFTWARE (D:)* git k test + projectl +包含到废口,共享, 刻录新建文件夹画名称修改日期姬IK-git2013/4/12 11:59文件夹:珀磁直(C:),code2013/
19、4/口 15:39文件夹OFTWARE D:j.exu2013/4/12 13:39文件失.ssh,tmp2013/4/12 13:40文件夹然后在tmp添加几个文件:桧 L_味完I育:寻象建文性exttmp这一步我们就需要把这些文件和目录commit到本地的版本库projectl中生成版本快照,在D:gittestproject1目录的空白处右键选择:Git commit->"masterSTWURE © git te;t preject-卜注意:我们目前只有一个分支所以只能commit到master分支,当我们创建了其他分支以后我们可以commit到别的分支。OK
20、” :" D:g it t e p rqj ertl - Git Com mane Prog ress - TortDiseGit然后把新建文件前面的钩给打上,录入相关操作说明点击maciter roati-co'mEiiit) d7S94c add files U&adms .txt; and tinp_ titt to Tmp direexory2芯 Tn习号匚tinn习(+1create mode 10064 4 ticp/口匕-但总七*七|create Skoda 1QOG4 4 tcp/tinp. txtSuccmb (63 £AS I? 2 01
21、3/4/12 14:07:40)Push注意:这一步的操作只是commit 了 tmp目录和它下面的那两个文件,其他的两个空目录并没有commit进来,要一起commit的话必须给那两个目录添加文件。4.4 推到服务器从远程的clone到本地的commit,那么现在就可以把本地的版本库push到服务器了。在 projectl 目录的空白处右键“TortoiseGit-» "Push":看下图,可以选择要Push的分支和要Push到服务器的哪个分支,这些都是根据实际的需要来定的,这里它会默认的推送到它clone的服务器(62)的projectl仓
22、库的。在Push时还会弹出输入私钥密码的对话框,输入即可:提醒:master是Git默认的主要分支(主干),适合单人独自开发,若是多人开发 强烈建议每人创建自己的分支。推送成功!看下log吧,右键选择"Git show log ":这个日志是随时都能查看的,能看见版本号、提交的文件、时间、由谁提交的等信息。4.5 更新版本库4.5.1 git pull前一天服务器的版本库经过若人的push以后现在是最新的了,那么今天的准备工作就是把最近的版本库合并到本机,我们采用的是 pull命令。更新操作:在 D:gittestproject1目录下,选中 projectl仓库右键,然后
23、选择" TortoiseGit» " Pull ":点击“ OK "就能把服务器的版本更新到本地的master分支,同步的结果是我发现仓库里面多了 一个文件夹和文件。然后新建一个分支在本分支开始今天工作。4.5.2 git fetchGit Pull能实现本机和服务器的同步,但是它不够安全,还有一种更加安全的做法就是git fetch ,我的做法是创建一个新的分支master/b_fetch ,先把代码fetch到master/b_fetch分支,然后比较master/b_fetch与master分支的区别(就是两个版本库的区别),最后进行me
24、rge操作。 这样具有安全性!分支的创建和比较差异后面介绍!Git Pull=git Fetch+git merger演示一下fetch吧!切换到 b_fetch分支,然后右键选择"TortoiseGit -»" fetch ":4.6分支Git分支简介:Git的分支可谓是难以置信的轻量级,它的新建操作几乎可以在瞬间完成,并且在不同分支 间切换起来也差不多一样快。和许多其他版本控制系统不同,Git鼓励在工作流程中频繁使用分支与合并,哪怕一天之内进行许多次都没有关系。Git中的分支实际上仅是一个包含所指对象校验和(40个字符长度 SHA-1字串)的文件,所
25、以创建和销毁一个分支就变得非常廉价。说白了,新建一个分支就是向一个文件写入41个字节(外加一个换行符)那么简单,当然也就很快了。这和大多数版本控制系统形成了鲜明对比,它们管理分支大多采取备份所有项目文件到特定目录的方式,所以根据项目文件数量和大小不同,可能花费的时间也会有相当大的差别,快则几秒,慢则数分钟。而Git的实现与项目复杂度无关,它永远可以在几毫秒的时间内完成分支的创建和切换。同时,因为每次提交时都记录了祖先信息(译注:即 parent对象),所以以后要合并分支时,寻找恰 当的合并基础(译注:即共同祖先)的工作其实已经完成了一大半,实现起来非常容易。Git鼓励开发者频繁使用分支,正是因
26、为有着这些特性作保障。4.6.1创建分支右键选择"Git Create BranchD:gittestXprojertl - C reatt Branch - TortoheGit这里是我们创建的第一条分支,所以只能创建在master分支上面了。brar>chl/ ma Eter4.6.2分支切换右键选择“ Git Branch "就能看见所有的分支,显示的当前所在分支是master (注意前面的对勾),branchi是新建分支,这样我们就能随意的切换分支。际龈题工工俄胃腱除(L)CtrlVGii Add all files now5it Commrt foolGit
27、 11 storyGit GuiGi- BrenthGit Hash姓莫:川4.6.3分支合并在branchi上的开发完成以后我们需要合并到master分支,首先切回 master分支,然后右键选择"TortoiseGit -» “ merge ”:当前分支是 master,所以得选择 branchi,就是把branchi合并到 master分支上。4.7版本差异4.7.1两个版本的差异比如我现在想看一下我master分支和branchi这两个版本的差异,该怎么看呢?首先我们在"Git Show log”下看到所有的提交日志,然后按住shift用鼠标选择最新的 m
28、aster分支和branchi分支,右键选择"Compare revisions”就能看见这两个版本的差异:£>'s-qitf tfi ctihproi*dEl - 人匕“产1 Tortii-E# !*itPm: 助到 4,U , Trt 2313/.二出 M Uj)片二手:七您/ “乩C LiiN 年 .>|messagey-orna cir di»">jeE*02 啕are#«f.CUlCei/janailaJ.2J :二口 ” h.遍修3岁夫逅HU”1R五U4 2DJW;316 5ta ", :. -
29、P F .尸 口通因力*出 日旺但2215 2Z U 2D0W.2113 29 32 2D.那 JMO塞 4).'DLgitle5tpnojectl - Changed Files - Tarloi5cGitM回2MDiffierencebetAtenversion 1 (CommftData WeM5d3e 3c2236cb ae-qd LO6d6ace7260b177O5adxfO5d33eZ2! addVersion 296e2c6c33ec9cc deb 脂书 2 3dc23c5b3ela 59-H72Rgflr。胃| RtfBroifrse 96e2r6c3:br LtxtF
30、ileExtensionActionLiies addedLines removed# brl.txtBtxtModified1c卜(?阖txtMAdded1grepo/abcd.txtktxtAdded1cFitter paths由上图我们发现 master分支相对branchi分支修改了 bitxt,增加了 hoa.txt和repo文件夹 以及repo下面的abcd.txt文件。4.7.2查看未提交的修改当你修改了一些文件后,这时还没有提交,你可能意识到自己的某些修改是错误的,那么你就想再次的审查一遍,那么怎么看你修改了哪些文件的哪些位置呢?这时就能看见修改过的文件,如果想看修改的具体位置
31、可以双击文件继续查看详细内容:首先右键选择"TortoiseGit”,然后选择diff:4.8 撤销某次操作revert是撤销某次操作,此次操作之前的commit都会被保留,比如我们发现自己修改的错误后就可以撤销,右键选择"TortoiseGit”,然后选择"Revert”:选中要撤销的文件,点击“ OK'就能实现撤销操作。4.9 Git Resolve这个命令主要是在解决冲突时才用的,具体用法看5.3中内容冲突的解决。5 Git中冲突的解决Git中很多命令都可能出现冲突,但从根本上来讲,者B是merge和patch (应用补丁)时产生冲突。而rebase
32、就是重新设置基准,然后应用补丁的过程,所以也会冲突。一般产生冲 突的类型有逻辑冲突、内容冲突、树冲突。团队协作中冲突是不可避免的,应该尽最大努力的避免冲突发生,比如模块的分 工化,然后就是每个开发人员遵守一定的的规则, 必要的沟通是解决冲突最有效 最好的方法!下面我们分别模拟三个冲突并解决。5.1 逻辑冲突什么事逻辑冲突? Git自动处理(合并、应用补丁)成功,但是逻辑上是有问题的。比如另 外一个人修改了文件名,但我还使用老的文件名,这种情况下自动处理是能成功的,但实际上是有问题的。又比如,函数返回值含义变化,但我还使用老的含义,这种情况自动处理成功,但可能隐藏着重大 BUG。我们做个实际的模
33、拟:一个同事在没有告诉我的情况下把我们共同使用的一个文件xxzr_hr_emp.txt修改成xxzr_hr_emp_v1.txt ,那么他已经把 xxzr_hr_emp_v1.txt新文件commit到服务器了,而我依 旧使用xxzr_hr_emp.txt文件名,那么在我工作完commit时会发生什么呢?在我commit时就报错了,说是提交失败,这时失败的原因就是冲突导致的,看来解决的办法在服务器是不行了,只能在本机了,这时我就需要做一次Pull操作,把远程库拉下来,合并完解决冲突后再 commit上去。 拉到本机:这样逻辑冲突自己解决了,他会把我以前的 xxzr_hr_emp.txt文件名更
34、新为xxzr_hr_emp_v1,然后这是我就可以正常的commit 了。5.2 树冲突文件名修改造成的冲突,称为树冲突。比如,a用户把文件改名为a.c, b用户把同一个文件改名为b.c,那么b将这两个commit合并时,会产生冲突。模拟一下吧:开始我和另一个同事的版本库是一样的我们都有一个xxzr_hr_v1.pck的文件,但是我们两个没有互相沟通都是把这个文件名给改了,我改成xxzr_hr_area_person.pck,他改成xxzr_hr_tmp_v1.pck ,我一个一个人改了以后是可以正常push的,那么在我完成后他再 push毫无疑问他push时遇到麻烦了,遇到的错误和逻辑错误的
35、报错是一样的,这时看一下该怎 么解决:首先和前面一样的他做一次Pull操作,此时没有显示任何的异常:D:'gittestprojectl - Gi: Connmand Prog- TcrtoiseGitWriting objectsgi t. exe pnzii pEQg'Tess '*CEzqj.n" nsg tei zznaatcrCaujitirig Gtjectsz 己/ 。匚口鼻.CajnpTessin.j objects 7 100%3/3 ;Writing abjecta: 100% (3/3)Writing obj acts: 100 (3&l
36、t;S), 336 byt«i, don«Total 3 deLta 2) t zeused 0 <lela 0)Create piUl tequsst CloseAhort但是到他的工作目录一看,就不一样了:% abcd.txt*> ghhh.txt比 xx2r h r area p erso n. p elc2013/4/15 11:252013/4/15 11:292013/4/15 12:10立志文档PCK文件xxzr h r tm p vl.p 匚 k2013/4/15 12:10 PCK 文件他就发现他重命名的文件名上多了一个叹号,又在该目录下面多了
37、一个新文件,这样的原因在于两人同时修改了同意文件名,这时他发现了错误的原因,就找到我和我沟通到底该用谁的文件名,最终我们通过沟通决定使用我的xxze_hr_area_personp.pck文件名(我们的需求是关于地域人员分布的统计),把他的那个有叹号的文件直接删除再做一次提交就好了。要是我们在修改文件名时做一次沟通是不是冲突直接就避免了 ?所以说团队协 作中沟通真的很重要!5.3 内容冲突内容冲突时最常见的,也是一种不可避免的冲突现象。两个用户修改了同一个文件的同一块区域,git会报告内容冲突。模拟并解决:我和另一同事对同一文件的同一块做了修改,那么他提交完毕我提交时就会产生冲突,我们修改的文
38、件是xxzr_hr_area_person.pck ,先看一下报的错误吧:D;g itAte stp nojectl - Git Coming nd Progress - Tortoi5eGrt。回|取! E&jeetedsnaatei 一* mas1七日/ mc-n-faat-foraarderror: figLllsd to push so ref? to TEoat)口-17 工!5 1,石芭二 pra j ngF&l, 一 qit .卜工口匕; Updm匚疆斗 口鼻工号 rejacted 匕耗umu*号 Khe tip of yom cucent 事工noh ia be
39、hind:ilnt: its ere口匚si counterpirtrge thechAngeg (a . gpix pull*)CloseAbort看见错误没提示我要执行一次pull操作,那么我就执行以下看看结果是什么:提示了冲突在 repo/xxzr_hr_area_person.pck文件这,解决了冲突再commit结果。见 abcd.txt2013/4/15 10:21 文本加1KB|qj ghhh.txt2013/4/13 16:5 立本史档1 KB| 一1 xxzr hr 3fa prrt3n.p)k2013/4/15 14:12 PCE 文件25 KB发现xxzr_hr_area
40、_person.pck文件上面有个黄色的叹号,这就表示文件有冲突,现在开始解决冲突,选中xxzr_hr_area_person.pck文件右键选择"TortoiseGit",然后选择"Resolves"开 始解决冲突:这是双击一下那个 xxzr_hr_area_person.pck文件会看到详细的改动情况:左上部分是别人改动的结果,右上部分是我改动的,下面是需要我手工做的最终的合并情况, 这里就是我要把改动的结果写到带有红色问号那行就行了,合并完成后保存退出, 然后先提交到本机再push操作,这样内容冲突的解决完毕。提示:如果这个文件是大家共同的,那么请
41、千万记住当你每次有一个小的改动时, 立即push到服务器,这样的话冲突解决起来也简单,快捷。6 Git分支管理策略相比同类软件,Git有很多优点。其中很显著的一点,就是版本的分支( branch )和合并(merge ) 十分方便。有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而 Git只生 成一个指向当前版本(又称“快照”)的指针,因此非常快捷易用。但是,太方便了也会产生副作用。如果你不加注意,很可能会留下一个枝节蔓生、四处开放的版本库, 到处都是分支,完全看不出主干发展的脉络。Vincent Driessen提出了一个分支管理的筮曜,它可以使得版本库的演进保持简洁,主
42、干清晰,各个分支各司其职、井井有条。理论上,这些策略对所有的版本管理系统都适用,Git只是用来举例而已。6.1 Master分支(主分支)首先,代码库应该有一个、且仅有一个主分支。 所有提供给用户使用的正式版本,都在这个主分支上 发布。Git主分支的名字,默认叫做 Master。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。我们可以给主分支上的每个版本库打上tag ,为了更好的管理。6.2 开发分支Develop主分支只用来分布重大版本,日常开发应该在另一条分支上完成。 我们把开发用的分支,叫做DevelopDevelopMasterTag0.1Tag0.2Tag03如果想正式对外发布,就在 Master分支上,对Develop分支进行"合并"(merge )6.3 临时性分支前面讲到版
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年高温高压锅炉钢管采购合同6篇
- 2025年度高端食品进口合同附加条款4篇
- 二零二五年度音乐作品授权改编与衍生品销售合同3篇
- 2025年水果店绿色种植基地合作协议3篇
- 二零二五年度临建设施施工安全应急预案合同模板4篇
- 2025年蔬菜大棚生态循环农业种植合作协议3篇
- 2025年汽车销售佣金协议范本及佣金分配方案3篇
- 二零二五年荒山承包与林业资源利用合同书范本3篇
- 二零二五年度国际医疗旅游服务合作协议4篇
- 2025年度智能房产抵押贷款合同范文3篇
- ICU常见药物课件
- CNAS实验室评审不符合项整改报告
- 农民工考勤表(模板)
- 承台混凝土施工技术交底
- 卧床患者更换床单-轴线翻身
- 计量基础知识培训教材201309
- 中考英语 短文填词、选词填空练习
- 一汽集团及各合资公司组织架构
- 阿特拉斯基本拧紧技术ppt课件
- 初一至初三数学全部知识点
- 新课程理念下的班主任工作艺术
评论
0/150
提交评论