今天总结一下GIT、SVN的使用过程

GIT(TortoiseGit可视化工具)

1.克隆一个远程项目

右键 Git Clone…,输入远程仓库的url,克隆好的远程仓库如图

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_SVN


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_GIT_02


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_SVN_03


2.提交代码到本地仓库

修改hello.txt,然后右键—>Git commit --> ‘master’(主分支,也可以是别的分支),这样代码就可以提交到本地仓库

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_工具_04

3.提交到远程仓库

右键–>TortoiseGit---->pull…,拉取远程仓库的代码(因为如果合作开发,别人可能也会提交代码)到本地仓库,拉取成功会有success提示

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_SVN_05


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_SVN_06


4.代码冲突及解决

github上修改文件

提交到本地代码库(commit)

拉取远程仓库代码(pull),出现冲突

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_GIT_07

点击close,弹出对话框,选择是

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_GIT_08

双击冲突的文件,弹出对话框,可以选中使用左边/右边/两边都用,编辑后保存,选择Mark as resolved(标记为已解决)

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_合并分支_09


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_工具_10


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_解决冲突_11


修改完成后再次提交(commit),会变成如图,选择提交,然后直接push(上传)

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_SVN_12


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_工具_13


查看github上的提交历史,会有解决冲突的记录

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_GIT_14

5、创建分支
右键–>TortoiseGit --Create Branch–

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_解决冲突_15


分支:

  • master分支,即主分支。任何项目都必须有个这个分支。对项目进行tag或发布版本等操作,都必须在该分支上进行。
  • develop分支,即开发分支,从master分支上检出。团队成员一般不会直接更改该分支,而是分别从该分支检出自己的feature分支,开发完成后将feature分支上的改动merge回develop分支。同时release分支由此分支检出。
  • release分支,即发布分支,从develop分支上检出。该分支用作发版前的测试,可进行简单的bug修复。如果bug修复比较复杂,可merge回develop分支后由其他分支进行bug修复。此分支测试完成后,需要同时merge到master和develop分支上。
  • feature分支,即功能分支,从develop分支上检出。团队成员中每个人都维护一个自己的feature分支,并进行开发工作,开发完成后将此分支merge回develop分支。此分支一般用来开发新功能或进行项目维护等。
  • fix分支,即补丁分支,由develop分支检出,用作bug修复,bug修复完成需merge回develop分支,并将其删除。所以该分支属于临时性分支。
  • hotfix分支,即热补丁分支。和fix分支的区别在于,该分支由master分支检出,进行线上版本的bug修复,修复完成后merge回master分支,并merge到develop分支上,merge完成后也可以将其删除,也属于临时性分支。
    6、合并
    右键–>TortoiseGit --Merge
  • Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_SVN_16

SVN(TortoiseSVN可视化工具)

1.创建本地仓库/远程仓库

本地:右键—>TortoiseSVN—>create repository here,但一般我们不创建本地仓库,一般都是远程的

远程:github/其他地方

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_GIT_17


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_解决冲突_18


2.拉取远程代码仓库的代码

a.右键点击SVN checkout…,弹出如下窗口

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_合并分支_19

b.复制远程仓库url到红色区域

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_工具_20

c.点击弹窗的ok即可拉取,在trunk中可以看到主分支文件

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_解决冲突_21

trunk文件夹: 主干,我们一般把项目提交到此文件夹里面,在trunk中开发。
branches文件夹:分支,我们一般把那些需要打分支,但是有可能会修改的项目代码,打分支到此目录。
tags文件夹:分支,我们一般把那些阶段性(如迭代各期)的项目代码,打分支到此目录。

3.提交本地代码到远程服务器

a. 新建一个文件new.txt作为提交对象

b.选中trunk文件夹,单击右键—>SVN commit…(如果是多人开发,需要先SVN update,先更新代码,后提交),输入提交的Message后,选中要提交的文件,点ok可提交成功,可以看到是先add,后发送的内容,可以看到远程仓库github上多了一个文件,就是我们提交上去的

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_工具_22


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_合并分支_23


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_SVN_24

4.创建分支

如图操作,如果成功可以在github上看到新的分支

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_解决冲突_25


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_解决冲突_26


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_GIT_27


本地branch文件夹,现在直接进入branch文件下,右键 --> Chenckout下,就可以把xts下的所有文件提取出来了

5.代码冲突的产生及解决

a.将分支xts中的hello.txt中第二行写入:键盘敲烂,提交到远程仓库

b.将主分支(trunk)中的hello.txt中的第二行写入:月薪上万,也提交代码

c.现在合并主分支和xts分支,选中trunk,右键TortoiseSVN–>Merge,弹框选中第一个,点next

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_SVN_28


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_SVN_29


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_合并分支_30


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_SVN_31


d.因为我们两个分支的hello.txt文件中第二行内容不同,所以产生了冲突(conflict),点击Edit conflict,弹出如图窗口,可以选中使用左边/右边/两边都使用,修改后保存,然后选中Resolved(解决冲突),点击ok即可

Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_GIT_32


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_合并分支_33


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_合并分支_34


Tortoisesvn 拉取代码设置账号 svn拉取代码到本地_GIT_35