SVN 约定不等于承诺〃 2021-09-18 01:20 337阅读 0赞 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/maplejaw_/article/details/52874348 </div> <div id="content_views" class="markdown_views prism-atom-one-dark"> <!-- flowchart 箭头图标 勿删 --> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg> <blockquote> 这篇文章源于6月份给公司新人作的关于SVN使用的培训,转眼已经过了几个月的时间,丢了也怪可惜的,于是整理出来希望能够帮助后来人快速入门。 -------------------- * * 安装说明 * 使用说明 * 检出项目 * 导入项目 * 提交 * 更新 * 查看日志 * 版本回滚 * 版本控制 * 总结 ## 安装说明 ## > 开发人员强烈建议使用IDE中的SVN插件更加智能与人性化。 首先安装SVN客户端,windows一般选择[乌龟][Link 1]客户端[https://tortoisesvn.net/downloads.html][https_tortoisesvn.net_downloads.html]。 根据系统位数选择相应客户端进行安装。 ![image\_1ak3avt6j1k2p1f6h1cg711lp3pu9.png-57.9kB][image_1ak3avt6j1k2p1f6h1cg711lp3pu9.png-57.9kB] 如果你喜欢用命令行操作,请务必记得勾选`command line client tool`为`will be install on local hard driver`,不用命令行的跳过这一步。 ![image\_1ak3cf587b5a15j21i9s1ne8uhf1g.png-55kB][image_1ak3cf587b5a15j21i9s1ne8uhf1g.png-55kB] 然后一路next即可安装。安装完毕后,在任意地方右键查看快捷菜单。发现`TortoiseSVN`即表示安装成功。 ![image\_1ak3cneu9tb6pu8k44rck90k1t.png-135kB][image_1ak3cneu9tb6pu8k44rck90k1t.png-135kB] 如果勾选了安装命令行工具,那么输入命令SVN,有如下提示也表示安装成功 ![image\_1ak3ctqp61c0a1vku1e30cib9312a.png-9.6kB][image_1ak3ctqp61c0a1vku1e30cib9312a.png-9.6kB] 但是此时菜单全是英文的,如果你不习惯英文,可以去下载语言包,记得下对系统位数。 ![image\_1ak3b28uv1et21lelqiglpr1krjm.png-46.3kB][image_1ak3b28uv1et21lelqiglpr1krjm.png-46.3kB] 安装完语言包之后,可以右键进入`setting`设置。 ![image\_1ak3d7reg1tdhdqjhfhim319d2n.png-89.7kB][image_1ak3d7reg1tdhdqjhfhim319d2n.png-89.7kB] 选择你喜欢的语言(比如中文),然后确定,不出意外,现在的语言已经切换到中文了。 ![image\_1ak3dama4kcf1flmr9a8d1hqe34.png-187kB][image_1ak3dama4kcf1flmr9a8d1hqe34.png-187kB] 安装教程到此结束,下面开始介绍SVN的使用。 ## 使用说明 ## ### 检出项目 ### 假如项目已经在[服务器][Link 2]的仓库里,那么现在你要做的就是把它检出到本地。 首先创建一个空文件夹。在空文件夹内右键,选择SVN检出。 ![image\_1ak3do46q18kl1l79c9u4pu1mdd3h.png-21.5kB][image_1ak3do46q18kl1l79c9u4pu1mdd3h.png-21.5kB] 现在你看到应该是这个[界面][Link 3],填入版本库地址,选择确定。 ![image\_1ak3dsjn6ha81ojlg2a1b1h67o3u.png-40.8kB][image_1ak3dsjn6ha81ojlg2a1b1h67o3u.png-40.8kB] 此时会弹出一个对话框让你输入账号密码,输入你的账号密码即可。记得勾选保存认证,不然每次操作都会让你输入。 ![image\_1ak3e0eesor01kg616s81aj11h524b.png-21.5kB][image_1ak3e0eesor01kg616s81aj11h524b.png-21.5kB] 等几分钟就可以检出完毕。 ![image\_1ak3e38931rr19dg1cbd1t8pn3g4o.png-51.4kB][image_1ak3e38931rr19dg1cbd1t8pn3g4o.png-51.4kB] 此时在你的目录下就能看到你的项目,现在可以开始愉快的工作了。 ![image\_1ak3e6ja4gnsvep1oaluia2pp55.png-5.3kB][image_1ak3e6ja4gnsvep1oaluia2pp55.png-5.3kB] ### 导入项目 ### 但是有时候你已经在本地建立好了项目,需要把你项目推到SVN上,此时应怎么做呢? 右键选择版本库浏览器。 ![image\_1ak3eopb116i6192u14i4c7r1avu6c.png-101kB][image_1ak3eopb116i6192u14i4c7r1avu6c.png-101kB] 在相应目录下,右键,加入文件/加入文件夹,选择相应目录即可。 ![image\_1ak3etni4fba1oi017rv1u6m1gn16p.png-116kB][image_1ak3etni4fba1oi017rv1u6m1gn16p.png-116kB]。 比如我现在有个项目叫SVNProject,我想把它传到SVN上。 ![image\_1ak3f04bl1k5q1qmrrcmu4m1j2j76.png-50.7kB][image_1ak3f04bl1k5q1qmrrcmu4m1j2j76.png-50.7kB] 那么我只需选择加入文件夹即可。 ![image\_1ak3f5l6f1h8f1rimgee1544sdc7j.png-35kB][image_1ak3f5l6f1h8f1rimgee1544sdc7j.png-35kB] 务必要输入提交信息。这样别人才能知道你干了什么。 ![image\_1ak3f7oe71gs6mkdlucdrrqq880.png-31.7kB][image_1ak3f7oe71gs6mkdlucdrrqq880.png-31.7kB] 导入成功就能看到目录。 ![image\_1ak3fbqo13gu1uji53ku5g1bs68d.png-110.6kB][image_1ak3fbqo13gu1uji53ku5g1bs68d.png-110.6kB] 但是,不要以为导入成功就可以了。你还得重新检出,重新检出的项目才是受SVN控制的,务必记得检出。 ![image\_1ak3fghhcg9fk9oab61n5q1sqg8q.png-110.6kB][image_1ak3fghhcg9fk9oab61n5q1sqg8q.png-110.6kB] 在SVNProject上右键检出到本地,然后在里面进行修改。现在就可以愉快的工作了。 检出过后的右键菜单变成了这样。 ![image\_1ak3fnbnn1ber1u0k1hbs1ti6ovi97.png-24.4kB][image_1ak3fnbnn1ber1u0k1hbs1ti6ovi97.png-24.4kB] ### 提交 ### 绿色表示当前文件没有被修改过(看不见颜色的重启下电脑就好了)。 ![image\_1ak3g3u171j9j1r40mbp1hkv12ju9.png-4.1kB][image_1ak3g3u171j9j1r40mbp1hkv12ju9.png-4.1kB] 假如我现在在`我是新项目.txt`中加了一行字,然后保存。 ![image\_1ak3g7ct21svq1lrejruu6e16okm.png-6.1kB][image_1ak3g7ct21svq1lrejruu6e16okm.png-6.1kB] 发现现在变成了红色,红色表示已修改。 ![image\_1ak3g9vfl1rqc1mvb19s81hg1t3913.png-4.9kB][image_1ak3g9vfl1rqc1mvb19s81hg1t3913.png-4.9kB] 怎么提交修改? 在根目录下,右键选择提交。 ![image\_1ak3gdc7j17dt1n50d1l8e1trp1g.png-25.2kB][image_1ak3gdc7j17dt1n50d1l8e1trp1g.png-25.2kB] 务必记得输入提交信息(虽然不输入也能提交),提交信息可以方便日后查看。 ![image\_1ak3gif5h13l11rfmorm87g5a71t.png-74kB][image_1ak3gif5h13l11rfmorm87g5a71t.png-74kB] 提交完毕后,可以发现又恢复到了绿色。 ![image\_1ak3gngr3o2amk41abkod91ogi2a.png-5kB][image_1ak3gngr3o2amk41abkod91ogi2a.png-5kB] 假如现在加入了一个新文件。可以看出是蓝色的。蓝色表示不属于版本库的未知文件,未知文件是不能提交的。 ![image\_1ak3grpb5hgbs62sj4tthfql2n.png-11.6kB][image_1ak3grpb5hgbs62sj4tthfql2n.png-11.6kB] 记住选择增加把它加入到版本库里面去。 ![image\_1ak3h1boe1njh1dhrhu1bjr1t333k.png-50.7kB][image_1ak3h1boe1njh1dhrhu1bjr1t333k.png-50.7kB] 增加完毕后,变成了蓝色加号,表示新增加的版本库文件。 ![image\_1ak3h5j9j1j4cnfhhq2vv2lba41.png-4.3kB][image_1ak3h5j9j1j4cnfhhq2vv2lba41.png-4.3kB] 接下来,只需写代码,然后提交即可。 删除文件也应该右键提交,如下。 ![image\_1ak3hcqrakda18mc5pg1dlke4d4e.png-57.7kB][image_1ak3hcqrakda18mc5pg1dlke4d4e.png-57.7kB] 记得随时检查你的文件状态,如果没有添加到版本控制里要及时添加进去,不然你的文件提交不上去。 ### 更新 ### 假如你和B同学在协作。B同学写完代码提交到了SVN上,如果你想获取最新修改,就需要选择更新(如果服务器上已经有别人提交过的新的,你是提交不上去的,必须先更新再提交)。 怎么知道服务器有没有更新?你可以直接选择更新,有没有更新一下就知道。或者右键检查修改,然后检查版本库,就能看到服务器上改了哪些文件。 ![image\_1ak3i1mon1f871qr9178eds61qoq4r.png-100.3kB][image_1ak3i1mon1f871qr9178eds61qoq4r.png-100.3kB] 右键选择HEAD和BASE比较。 ![image\_1ak3i7ql4mre1t6e17r717o81nlq58.png-22.9kB][image_1ak3i7ql4mre1t6e17r717o81nlq58.png-22.9kB] 左边的表示你的代码,右边的表示服务器上的代码。 ![image\_1ak3i9ado1p6cv6aoh460210it5l.png-117.7kB][image_1ak3i9ado1p6cv6aoh460210it5l.png-117.7kB] 如果有修改记得及时更新到本地然后再继续工作。 但是有时候更新会冲突,比如你和服务器上的改了同一个地方。 这时候你需要更新下来解决冲突。 ![image\_1ak3ihv861ceq1gko16jl1uu3mqe62.png-68.8kB][image_1ak3ihv861ceq1gko16jl1uu3mqe62.png-68.8kB] 它会提示你哪个文件冲突,你只需打开那个文件,按照需求解决冲突即可。 ![image\_1ak3ikl7a1c9dmk619r9d371mui6f.png-11.4kB][image_1ak3ikl7a1c9dmk619r9d371mui6f.png-11.4kB] <<<<<<.mine到====表示你的代码,其他表示服务器的代码。你只需改成你想要的。 ![image\_1ak3iojkm7ic6911jr39021qk46s.png-5.1kB][image_1ak3iojkm7ic6911jr39021qk46s.png-5.1kB] 然后选择解决,告诉SVN我已经解决冲突了就行了。 ![image\_1ak3itj8gt8315rf1flij6k1l1979.png-41.3kB][image_1ak3itj8gt8315rf1flij6k1l1979.png-41.3kB] 剩下的就是团队协作间的更新提交操作,这里不做赘述。 ### 查看日志 ### 选择显示日志,可以看出团队里面的人干了什么。 ![image\_1ak3j48bv6r9tnm821u3gpjn7m.png-30kB][image_1ak3j48bv6r9tnm821u3gpjn7m.png-30kB] 可以看出谁谁谁,什么时间,干了什么事。最后那一列信息是自己提交的时候写的。建议大家提交时务必要填写提交信息,这样别人一看就知道你干了什么。提交信息对于自己也是有好处的,时间长了也能看到当初做了什么。 ![image\_1ak3j7va3jbt147j1s2thni1eui83.png-98.6kB][image_1ak3j7va3jbt147j1s2thni1eui83.png-98.6kB] ### 版本回滚 ### 如果你改了东西,但是还没有提交,可以使用还原功能。 ![image\_1ak4pcd3bpac328t5u1mas1k1v9.png-103kB][image_1ak4pcd3bpac328t5u1mas1k1v9.png-103kB] 但是如果我们写错了东西并且提交了上去怎么办?通过版本回滚可以将文件恢复到 以前的版本。右键更新至版本,通过查看日志来选择版本,然后回滚即可。 ![image\_1ak3k9pl5nt0euj10eob6e1pai8t.png-21.1kB][image_1ak3k9pl5nt0euj10eob6e1pai8t.png-21.1kB] 有时候我们需要查看以前版本的代码。此时我们可以新建个文件夹检出到指定版本。 ![image\_1ak3kifgr1b1q1fv0p871f25jda9a.png-158.9kB][image_1ak3kifgr1b1q1fv0p871f25jda9a.png-158.9kB] ### 版本控制 ### 版本控制有好几种方法,如下。 1. 在提交发布版本时添加版本信息,这是最简单的一种方法。 ![image\_1ak3locvo1ndq4pg1nohuhn1fh89n.png-17.1kB][image_1ak3locvo1ndq4pg1nohuhn1fh89n.png-17.1kB] 2. 打标签 每次发布版本时应该打标签。右键选择分支/标记。在至路径以版本号打上标签即可 ![image\_1ak3muiav1t0o9v21a5qfnt3ut9.png-28.3kB][image_1ak3muiav1t0o9v21a5qfnt3ut9.png-28.3kB] ![image\_1ak4tm0e3aal1t71r94p941h9p2a.png-80kB][image_1ak4tm0e3aal1t71r94p941h9p2a.png-80kB] 这样你就有了一个v1.0版本的标签。 以后如果你想查看某个版本的代码,只需切换过去就行 ![image\_1ak3n7ai51l6b77j10811plc12ba13.png-14.9kB][image_1ak3n7ai51l6b77j10811plc12ba13.png-14.9kB] ## 总结 ## 我们在日常使用中,最常用的是更新和提交操作。这两个步骤务必要非常熟练。其他的可以在遇到问题是查看文档。此外,需要注意的是,所有版本控制工具只能跟踪文本文件(能用记事本打开查看的文件),不要妄想SVN能记录你word改了哪一行。一旦遇到word冲突,记住仔细对比两个版本,然后解决冲突。 [Link 1]: https://www.baidu.com/s?wd=%E4%B9%8C%E9%BE%9F&tn=24004469_oem_dg&rsv_dl=gh_pl_sl_csd [https_tortoisesvn.net_downloads.html]: https://tortoisesvn.net/downloads.html [image_1ak3avt6j1k2p1f6h1cg711lp3pu9.png-57.9kB]: /images/20210724/1cd5ad637acd41f5a6d9619a385b99b6.png [image_1ak3cf587b5a15j21i9s1ne8uhf1g.png-55kB]: /images/20210724/cf95cda5c46a466f8304816251852e4e.png [image_1ak3cneu9tb6pu8k44rck90k1t.png-135kB]: /images/20210724/e7b82a0d8c45478783dbec77c94a358e.png [image_1ak3ctqp61c0a1vku1e30cib9312a.png-9.6kB]: /images/20210724/af28493ec3434d89ab01ae744b0c5cc5.png [image_1ak3b28uv1et21lelqiglpr1krjm.png-46.3kB]: /images/20210724/411752001b8b4243b9dafc1a03687d07.png [image_1ak3d7reg1tdhdqjhfhim319d2n.png-89.7kB]: /images/20210724/61c385dfde3748c8b993b6406550a3ba.png [image_1ak3dama4kcf1flmr9a8d1hqe34.png-187kB]: /images/20210724/085b15bb5c2d4fd48c580b6f6ebbd458.png [Link 2]: https://www.baidu.com/s?wd=%E6%9C%8D%E5%8A%A1%E5%99%A8&tn=24004469_oem_dg&rsv_dl=gh_pl_sl_csd [image_1ak3do46q18kl1l79c9u4pu1mdd3h.png-21.5kB]: /images/20210724/b819508729b54d0aaba81d7ff1fc9680.png [Link 3]: https://www.baidu.com/s?wd=%E7%95%8C%E9%9D%A2&tn=24004469_oem_dg&rsv_dl=gh_pl_sl_csd [image_1ak3dsjn6ha81ojlg2a1b1h67o3u.png-40.8kB]: /images/20210724/099bee60837d466984799145d1c12206.png [image_1ak3e0eesor01kg616s81aj11h524b.png-21.5kB]: /images/20210724/e57a020857e040a98b04b3a34e6c7b25.png [image_1ak3e38931rr19dg1cbd1t8pn3g4o.png-51.4kB]: /images/20210724/7267872a3a8c49ab9d71067de7d36611.png [image_1ak3e6ja4gnsvep1oaluia2pp55.png-5.3kB]: /images/20210724/1cb62063fb914dd4b09fdfb20daaf1f6.png [image_1ak3eopb116i6192u14i4c7r1avu6c.png-101kB]: /images/20210724/e80ebf304ef7451b8fec923b8ca1afbc.png [image_1ak3etni4fba1oi017rv1u6m1gn16p.png-116kB]: /images/20210724/3431ed09244f42dc8bba37a633932338.png [image_1ak3f04bl1k5q1qmrrcmu4m1j2j76.png-50.7kB]: /images/20210724/7ee1fc6541f8475db2953e662e9d453e.png [image_1ak3f5l6f1h8f1rimgee1544sdc7j.png-35kB]: /images/20210724/55826d5a6a4d4aa5bb43d6d85952ea03.png [image_1ak3f7oe71gs6mkdlucdrrqq880.png-31.7kB]: /images/20210724/3ef6ec87938743a68d211fbf65aca079.png [image_1ak3fbqo13gu1uji53ku5g1bs68d.png-110.6kB]: /images/20210724/77fc4c6745994a7a9182819b26bd5a37.png [image_1ak3fghhcg9fk9oab61n5q1sqg8q.png-110.6kB]: /images/20210724/90ef19eed6b543b4b85af57f5051e28e.png [image_1ak3fnbnn1ber1u0k1hbs1ti6ovi97.png-24.4kB]: /images/20210724/0cc8986a8ff54208a340d0348443f6ca.png [image_1ak3g3u171j9j1r40mbp1hkv12ju9.png-4.1kB]: /images/20210724/60ed6d53474d46eba991d5a9bf822f81.png [image_1ak3g7ct21svq1lrejruu6e16okm.png-6.1kB]: /images/20210724/2d03e29687a04533b1af3bb11bec5fc4.png [image_1ak3g9vfl1rqc1mvb19s81hg1t3913.png-4.9kB]: /images/20210724/fcc9d1bb1bdb49ceade32490516e87a5.png [image_1ak3gdc7j17dt1n50d1l8e1trp1g.png-25.2kB]: /images/20210724/8e8bcc9168aa492cb2f0cbd0f8eb5a1d.png [image_1ak3gif5h13l11rfmorm87g5a71t.png-74kB]: /images/20210724/b4ae62847eb24c1ba63c24d30e61e0f3.png [image_1ak3gngr3o2amk41abkod91ogi2a.png-5kB]: /images/20210724/6e5da743e80b4797aecd6c7099bb0fe5.png [image_1ak3grpb5hgbs62sj4tthfql2n.png-11.6kB]: /images/20210724/68249c89c44747f2bc348ae145eeda4f.png [image_1ak3h1boe1njh1dhrhu1bjr1t333k.png-50.7kB]: /images/20210724/1f3bd1ef38b44f5ab8ab32704c744b03.png [image_1ak3h5j9j1j4cnfhhq2vv2lba41.png-4.3kB]: /images/20210724/6e2cbb20ffa54e6980c262e6f1d3927e.png [image_1ak3hcqrakda18mc5pg1dlke4d4e.png-57.7kB]: /images/20210724/adee4a999b4246d9a4be46cb39ec8f4c.png [image_1ak3i1mon1f871qr9178eds61qoq4r.png-100.3kB]: /images/20210724/f99303e493574e5eb6754a3ff478dc6d.png [image_1ak3i7ql4mre1t6e17r717o81nlq58.png-22.9kB]: /images/20210724/fa507a0968a34a5fbf99b704aeafe695.png [image_1ak3i9ado1p6cv6aoh460210it5l.png-117.7kB]: /images/20210724/b8315335896f4c7da0406fe20ae202e2.png [image_1ak3ihv861ceq1gko16jl1uu3mqe62.png-68.8kB]: /images/20210724/c788471a022b4494a7161858d72767a0.png [image_1ak3ikl7a1c9dmk619r9d371mui6f.png-11.4kB]: /images/20210724/4057a84b8de647a484e29d9486dfc114.png [image_1ak3iojkm7ic6911jr39021qk46s.png-5.1kB]: /images/20210724/f46d4c2a1933469097edd06a792253b0.png [image_1ak3itj8gt8315rf1flij6k1l1979.png-41.3kB]: /images/20210724/b7d8350177d448f9955946127c6e9c18.png [image_1ak3j48bv6r9tnm821u3gpjn7m.png-30kB]: /images/20210724/3ecae57822df4a549f07268366d1582c.png [image_1ak3j7va3jbt147j1s2thni1eui83.png-98.6kB]: /images/20210724/4e2bdf9ad0d24f549646a2ed606af864.png [image_1ak4pcd3bpac328t5u1mas1k1v9.png-103kB]: /images/20210724/b81f29636e5741ab8f28e0ce4c4d45b1.png [image_1ak3k9pl5nt0euj10eob6e1pai8t.png-21.1kB]: /images/20210724/f06f448692d54d15b4e34056ae4fcf0b.png [image_1ak3kifgr1b1q1fv0p871f25jda9a.png-158.9kB]: /images/20210724/4f17ecebcf9c43b8b75c6921a8e73306.png [image_1ak3locvo1ndq4pg1nohuhn1fh89n.png-17.1kB]: /images/20210724/a0d15546673c47f5a56c5141cfdb0106.png [image_1ak3muiav1t0o9v21a5qfnt3ut9.png-28.3kB]: /images/20210724/a2aa192e984343fcacf0c4f257dd13dd.png [image_1ak4tm0e3aal1t71r94p941h9p2a.png-80kB]: /images/20210724/780f7fffb6794a5f83a430d7fe05b00f.png [image_1ak3n7ai51l6b77j10811plc12ba13.png-14.9kB]: /images/20210724/01243509f5ae489f8028d8003191dd96.png
相关 svn 转自:http://blog.csdn.net/daobantutu/article/details/60467185 搭建SVN服务器详细教程 本教程会从最基本的 小咪咪/ 2022年05月29日 07:47/ 0 赞/ 163 阅读
相关 svn 以下文章转自:http://developer.51cto.com/art/201005/201764.htm 1、在本文的操作过程中如果遇到相关问题。比如命令找不 旧城等待,/ 2022年05月29日 02:46/ 0 赞/ 164 阅读
相关 【SVN】SVN初识 <table> <tbody> <tr> <td><font> SVN 介绍</font></td> </tr> </tbody> </table 港控/mmm°/ 2022年05月16日 05:26/ 0 赞/ 201 阅读
相关 SVN sudo apt-get install subversion libapache2-svn sudo svnadmin create /svn $ s 骑猪看日落/ 2022年05月10日 15:40/ 0 赞/ 140 阅读
相关 SVN SVN简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控 た 入场券/ 2022年04月23日 22:24/ 0 赞/ 189 阅读
相关 SVN 一、准备工作 1. Subversion服务器程序 先到官方网站上下载最新版本,\[url\]http://subversion.tigris.org/se 水深无声/ 2022年04月14日 04:21/ 0 赞/ 186 阅读
相关 svn apache产品,下载https://www.visualsvn.com/downloads/ ![1382212-20190411223038268-2119141780 曾经终败给现在/ 2022年01月06日 04:41/ 0 赞/ 251 阅读
相关 svn 安装svn 1. 客户端 [客户端][Link 1] ![1250855-20190722160356912-317256987.png][] [服务器端] 旧城等待,/ 2021年11月09日 22:06/ 0 赞/ 262 阅读
相关 svn 1.装包配置conf目录下authz passwd svnserve.conf三个配置文件,配置规则登录用户名和权限。 2.svn import . file:///var/ 女爷i/ 2021年10月30日 04:48/ 0 赞/ 279 阅读
相关 SVN 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/maplejaw_/article/details/52874 约定不等于承诺〃/ 2021年09月18日 01:20/ 0 赞/ 338 阅读
还没有评论,来说两句吧...