发表于: 2018-06-14 00:00:35

1 656


今天完成的:

        重新完整看了一遍SVN教程,并基本了解操作(拉取和提交什么的)。把Git没看完的部分学习完毕。

        按照教程完成了SVN服务器的搭建,及Tortoise SVN的安装及试用。关于服务器的搭建及SVN的使用方法不再赘述。(前两篇好像写的过于琐碎了

        使用SVN的过程中因为之前链接库不太满意,想要断开链接,然后从网上找到了方法:就是删掉本地库里面的 .svn 文件夹。。。

        知道了svn冲突问题及解决办法:

问题的成因:因为不同的人,同时修改了同一个文件的同一个地方,其他人提交了之后,我没有提交,就提交不了。产生冲突之后会产生3个文件:file.txt.mine 是冲突之前自己的文件;file.txt.r4 是冲突前本地的版本文件;file.txt.r5 是别人赶在我之前提交的版本。

解决方法:第一种:使用revert操作,先放弃自己的更新代码提交别人的代码,然后在别人已经修改的基础上再进行修改提交;第二种:右键Editconficts,冲突双方进行协商,统一之后再提交。

        SVN也有分支功能:用来跟主线进行并行开发的时候不影响主线的开发,等分支上代码没有问题后,再合并到主干上。

        当时看的时候教程篇幅较长理解起来稍有困难,之后自己稍微整理了一下思路。(具体操作不再赘述了)过程如下:

        新建两个文件夹 --> 本地主干checkout与服务器主干建立连接 --> 从本地主干创建分支添加到服务器 --> 本地分支checkout与服务器分支建立连接

        (newBranch建完分支后貌似就没用了)

        这样本地的两个文件夹分别指向服务器的主干和分支,互不干扰;分支上需要合并的时候可以通过本地主干合并,然后提交至服务器;服务器有更新的话,主干update然后再更新到分支上。(感觉这样理解起来容易多了)

        Git部分:

        Bug分支:开发过程中临时需要修复bug而不能提交手头上的任务的时候,需要通过:$ git stash 先把工作现场(如dev)存储起来,等以后恢复现场继续工作;在修复完成后,恢复现场继续工作:一是git stash apply,恢复后stash内容不删除,需要git stash drop删除stash内容;二是git stash pop,恢复的同时删除stash内容。

        Tip:用git stash list可以查看stash内容;多次stash的话,恢复的时候可以先查看stash内容,然后 git stash apply stash@{0}。


        Feature分支:软件开发时,不时的就会有新功能要添加进来,为了不把主分支搞乱,每添加一个新功能就要创建一个feature分支,在上面开发,合并,最后删除该分支。

当开发完add commit之后,若不需要该功能了,便要执行删除操作,但 git branch -d <name> 会删除失败。此时要通过 git branch -D <name> 删除分支。也就是要删除一个没有被合并过的分支要用"-D"。


        多人协作模式:

1.首先,可以试图用 git push origin <banch-name> 推送自己的修改;

2.如果推送失败,则因为远程分支比自己本地的更新,需要先用 git push 试图合并;

3.如果合并有冲突,则解决冲突,并在本地提交;

4.没有冲突或者解决掉冲突后,再用 git push origin <branch-name> 推送就能成功。

如果 git pull 提示 no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令 git branch --set-upstream-to <branch-name> origin/<branch-name>,之后便能 git pull。

在本地创建和远程分支对应的分支时,使用 git checkout -b <branch-name> origin/<branch-name>,本地和远程分支的名称最好一致。


Rebase: $ git rebase  可以把本地未push的分叉提交历史整理成直线;使得我们在查看历史提交的变化时更容易。


明天计划的:

        今天没能开始任务三的学习,明天开始着手任务三。(SVN、Git什么的确实要好好学下呢

        计划先不定那么多了,像今天就没完成 QAQ。。。

遇到的问题:

        在SVN搭建的时候,最后finish出现了一个错误:

不过对后来的操作没什么影响。。。

过程中基本没遇到什么问题,由于是熟悉版本管理系统,完全可以按照教程或者自己的想法一步步来试验看效果,来解决问题。

今日收获:

学会了SVN版本控制系统(虽然好像没什么用。。。),不过发现一点问题,就是这两天学Git、Svn、XShell等等软件,有很多相似的操作各种杂乱在一起,导致有很多操作掌握的不太扎实,要抽点时间多看一下实践一下。

希望师兄多多给点建议呀~



返回列表 返回列表
评论

    分享到