svn、git的使用

来源:互联网 发布:淘宝在线店招制作 编辑:程序博客网 时间:2024/06/06 02:40

1、首先是git的安装不用多说直接在官网上下载一路next

2、打开git bash,然后输入pwd显示当前文件路径,然后建立仓库cd /g/software/repository/git进入到这个目录下面

3、创建git资源库 git init --bare 库名称,介绍一下目录,hooks一些脚本文件,info存放用户信息,objects这个 refs,指针,config配置信息,desciption,head头

4、现在来使用,现在我们在g/software/developer/user1这个目录来使用,现在我们来进入到这个目录 cd ..进入上一级目录

现在我们在user1下面了来进行clone,使用命令 git clone /g/software/repository/git/itheima28/ .  这里的.代码当前目录、/代表根目录,然后执行,使用git status来查看状态,我们在user1下面新建一个文件,然后使用git status来查看

5、git add readme.txt

6、git commit readme.txt进入vi编辑器 输入i,然后输入内容,退出编辑模式 点击esc,保存退出:wq

7、推送到远程地方:git push origin master--->git push /g/software/repository/git/itheima28/ master 把本地的主分支master推送到远程服务器里面

8、现在我们进入devploper/user2里面clone下面

9、git clone /g/software/repository/git/itheima28/ .    然后就clone成功了

/********************************************************************/

1. 创建git资源库
git init --bare 库名称

2. 在用户文件夹下把资源clone下来
git clone <仓库目录> /g/software/repository/git/itheima <用户目录> .
注意:clone时候用户目录必须为空


3. 创建一个文件,纳入到版本控制中。
git add <文件名>
第一次执行会出警告:warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory.
警告处理:需要配置用户信息
git config user.name = "zhangsan"
git config user.email = "itheima@gmail.com"

4. 提交到本地版本库里。
git commit <文件名>

5. 推送到远程共享版本库中
git push origin master

6. 切换用户,拉取最新的文件
git pull

/****************************************************************************************/

repostory 资源库

资源库访问路径
Repository URL: https://andong-PC/svn/itheima28

GIT 下 vim编辑器

进入编辑模式: i
退出编辑模式: Esc

保存退出: (:wq)

/************************************************************************************************/

现在我们来使用一下git的常用命令

演示提交更新的操作

1、在user2里面进行增加内容,然后使用命令git status显示modify修改了,这里面先要add,加入到版本控制中,然后再去commit,输入命令git add readme.txt,再git commit readme.txt 现在我们已经放入到本地仓库里面了,要push到远程上去我们可以查看git目录下有一个config.txt这里面有一个 remote "origin"这样一段代表远程,两个输入命令

git push origin master就是把本地的master提交到origin仓库中

2、进入到user1里面 使用命令git pull 更新,如果我们在使用git commit的时候会弹出vm编辑器,使用下面的命令可以避免弹出git commit -m "user1 update" readme.txt就不会弹出了

3、现在我们演示冲突在user2里面添加内容,我们演示的不同行自动合并,我们使用git命令来解决冲突:

git pull 之后有冲突:

$ git pull
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From g:/software/repository/git/itheima26
   50db030..a04027a  master     -> origin/master
Auto-merging readme.txt
CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.

解决方法:
1.git mergetool
调用上面命令之后会提示你输入编辑方法,输入:beyond compare 进入编辑器.然后使用鼠标右键来解决冲突,在svn中我们解决完冲突过后会有一个标记为解决,在git中没有这个命令,在git中直接使用下面的这个就可以
2.编辑完之后.调用git commit -a 把当前目录中所有都提交到本地库中.  然后会在本地的仓库生成一个副本,需要我们自己手动删除

3.git push origin master 提交到远程库中.

/****************************************现在我们下面使用工具的方式来进行操作********************************/

1、首先我们下载tortoiseGit,安装,这里注意原来的git也需要安装

2、安装成功过后会在右键菜单中出现一个git create reponstiroy here创建一个仓库,现在在software下面repostory就代表仓库,下面新建一个test仓库在这里面进行初始化git create reponstiroy here--->make it bare,仓库就建好了

3、有了仓库过后本地开发者是不是需要把服务器上的代码clone下面来啊,software-->dev-->user1下面进行clone进行建立连接,点击右键--->选择git clone,然后吉隆已有版本,现在就把repository吉隆下来了

4、然后我们在user1新建一个文件,然后commit,然后再点击空白的地址push

5、在user2里面clone,然后再commit,push,使用tortosieGit不需要手动的add,因为在commit的时候会自动的add

6、现在来演示冲突,现在修改同一行,然后进行push,就会出现错误提示conflit,然后选择文件右键tortoiseGit--->edit conflit,然后保存,然后再点击tortoiseGit---reslove标记为解决,在标记为解决之前会生成.base,local,remote这三个文件,标记为解决过后这三个文件就会自动消失

/*******************************现在我们来演示一下使用补丁*********************************************/

1、演示补丁的方式就是不走服务器,现在我们在user1里面的readme.txt里面增加了新的内容,commit这时候不push,现在我们来生成补丁点击右键tortoiseGit--->create patch serial....然后会生成一个文件名.patch的文件,通过邮件的形式发送给user2

2、现在user2已经得到了这个.patch这个文件了点击右键tortoiseGit-->apply patch serial...-->add-->这里面就success,

3、现在我们来演示补丁有冲突的情况,user1和user2修改了同一行,然后在user1生成的补丁发给了user2,然后user2应用,显示为fail,,这里面需要注意一点,fail过后下面会出现三个按钮 apply,abort,help,这里面先别点击这三个,先右键tortoiseGit--->edit confilt,主要是看红色的。这工具里面有一个make is confilt就是标记为解决的意思,这时候再x掉别abort了,然后再提交commit

/*******************************使用git演示案例*********************************************/

1、在eclipse中安装git插件Egit,现在我们还按上面的步骤来操作,先创建仓库,使用eclipse来操作

2、使用git responstity view --->clone a git repsitroy--->local destination选择我们本地库的地址存放到哪里去---->然后在eclipse中---现在把这个git这个路径检出一个工程--->import projects --->命名为user10,然后再添加一个文件readme.txt---点击add file---再commit,再右键team---remote----push---->push ref specfications  在source ref选择master 点击add spec点击next 点击finsh

3、现在我们再去服务器中吉隆一个版本user11,是重新吉隆一个版本
4、其他的都是提交,更新了,解决冲突了一样的了,这个时候右键就没有edit conflit这个了,这时候是marge tool这个选项了,解决完冲突过后再去add to index file这时候再去commit就可以了

////////////////////////////////////////////案例////////////////////////////////////////////////////////////////////////////////////

1、现在我们已经做好一个项目了,然后进行发布,现在我们发布版本,点击右键team--advanced---Tag---tag name输入v1.0点击ok

2、现在我们着手2.0开发,还是原来的地址

3、现在我们在发布的1.0发生一个严重的bug,现在我们要切换到1.0上进行修复bug,点击右键team-->switch to-->other -->tags-->v1.0-->check out,这时候我们的工程的后面的地址就变成了tag了,我们有一个约定就是在tags里面不会去修改代码,而是创建一个分支右键team-->switch to -->new branch-->输入branch name v1.0fixup,选中check new banch就会切换到这个fixup这个下面现在在这个下面修改完过后commit

4、现在修复完了过后给用户使用了再又要创建一个tag了,现在又要回到2.0上进行开发team--->switch to --->master主分支2.0,现在我们2.0的要合并以前的bug,点击team--->merge-->选择v1.0fixup-->merge合并完了再push,在push ref specfications这里面的source ref这里面这时候有两个,这时候应该选择哪一个也就看你项目后面的路径是哪一个这时候是master,所以我们选择master进行push,

5、现在另外一个开发者进行更新

////////////////////////////////////////////////////////现在我们使用git来管理我们的android工程//////////////////////

1、现在我们创建一个android工程,然后创建一个仓库,首先我们把clone下来

2、在android工程上右键share project然后选择我们刚才clone的地址

3、切换到同步视图 synchroizd ,然后再commit

////////////////////////////////////////////////////////////////svn的使用//////////////////////////////////////////////////////////////////////

我们可以使用TortoiseSVN来进行客户端的操作-----,visualSvn来管理svn,控件权限

svn三个目录的使用:

/trunk存放开发的"主线"

/branches 存放支线副本------这儿存放的是上线版本的bug,这里面的代码是从tags里面clone出来的

/tags存放标签副本----存放已经发布的版本,这里面的代码不会去改的

//////现在我们拿案例来演示一下

1、现在我们创建一个仓库命名为Apollo

2、在eclipse中svn资源库里面添加一个仓库,然后在trunk里面将这个工程检出为工程

3、然后在这个工程里面写点基础代码,这个时候在这个基础的代码上开发了一个相对完整的代码

4、现在来了另外一个人,把代码导出来了,然后开发

5、现在开发完了发布版本,点击右键team--->分支/标记---->选择位置为tag里面起个名字/v1.0,就会在tag里面创建一个v1.0的文件 head修订版

6、现在继续开发版本2.0,现在在1.0上发现了bug,要派人去修复,现在点击工程的右键---team-->切换-->选择位置为tag里面的1.0里面的工程,现在我们不会在tag里面进行修改,现在我们要把代码放到branchs里面,现在还是右键---team--->分支/标记,位置选择branchs里面/v1.0_fixup,现在再切换加去修改v1.0_fixup里面的代码来进行修改

7、现在已经修复完了,要发布一个1.1的版本,这里面再team--分支/标记  v1.1版本

8、现在我们需要把修复过后的代码整合到现在的开发中来,现在切换到主线程中来---team-----切换--到主线程来,这个时候要和以前修复的代码进行合并,右键---team---合并,



0 0
原创粉丝点击