前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >版本控制SVN和Git

版本控制SVN和Git

作者头像
Java廖志伟
发布2022-09-28 14:44:30
1.9K0
发布2022-09-28 14:44:30
举报
文章被收录于专栏:高级开发进阶

版本控制

1.为什么需要版本控制?

从个人开发过渡到团队协作。

2.版本控制工具点击下载

  • 集中式版本控制工具 CVS、SVN、VSS……
  • 分布式版本控制工具 Git、Mercurial、Bazaar、Darcs……

3.SVN工作机制

  • 检出(Checkout)
    • 把服务器端版本库内容完整下载到本地。
    • 在整个开发过程中只做一次。
  • 更新(Update)
    • 把服务器端相对于本地的新的修改下载到本地。
  • 提交(Commit)
    • 把本地修改上传到服务器。

分享博客:SVN使用—工作模式及运行原理以及优缺点对比

4.SVN服务器端安装

这里教大家安装svn到linux上,打开虚拟机,打开SecureCRTPortable.exe。

输入命令:yum install -y subversion

查看版本是否安装成功:svn --version

5.创建版本库

①SVN服务配置文件

vim /etc/sysconfig/svnserve,这个文件只是看看,不需要改。

②创建版本库目录和项目目录

输入命令:mkdir -p /var/svn/pro_oa

pro_oa:这里是你要上传项目到服务器是的仓库名,我这里用了简写,一个oa项目的仓库名

③执行svnadmin命令真正创建版本库

输入命令:svnadmin create /var/svn/pro_oa

④将来的访问方式

svn://ip地址:端口号(默认可以不用写)/版本库

⑤启动SVN服务

代码语言:javascript
复制
输入命令:systemctl start svnserve.service
输入命令:systemctl enable svnserve.service

开启匿名访问

代码语言:javascript
复制
vim 版本库根目录/conf/svnserve.conf
anon-access = write

关闭selinux

vim /etc/sysconfig/selinux

SELINUX=disabled

reboot

6.Eclipse访问SVN服务器

①Eclipse中的SVN插件

[1]简介

Subversive:Eclipse团队开发的SVN插件。 安装麻烦点,使用很爽

Subclipse:Apache的SVN团队开发的Eclipse插件。安装很爽,使用容易出错

我们安装Subversive

[2]安装过程

install

②创建资源库位置

③Eclipse中忽略特定文件

操作方法:

  • 第一步:打开~\AppData\Roaming\Subversion\config文件
  • 第二步:修改global-ignores

 global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store .settings */.settings/* .classpath .project target */target/*

④分享工程

  • 第一步 工程→右键→Team→Share Project...
  • 第二步 版本控制工具中选择SVN
  • 第三步 选择一个已经存在的资源库位置或新建一个 可以直接点Finish(工程在SVN服务器端的目录名和工程名一致;上传工程目录的日志使用默认值)
  • 第四步 确认工程根目录下子目录和文件是否全部上传

⑤常见图标含义

⑥检出

  • 第一步 在Eclipse中执行Import操作
  • 第二步 确认资源库位置
  • 第三步 找到SVN服务器端工程对应的目录
  • 第四步 选择检出方式
  • 第五步 Finish
  • 第六步 转换工程类型

⑦其他基本操作规律

资源→右键→Team→相关菜单项

⑧解决冲突

  • 第一步 冲突文件→右键→Team→Edit Conflicts
  • 第二步

7.Git简史

8.Git工作机制

9.Git和代码托管中心

代码托管中心负责维护远程库。

  • 局域网
    • GitLab
  • 外网
    • GitHub
    • 码云

10.本地库和远程库交互机制

①团队内协作

②跨团队协作

11.Git安装

12.Git常用命令

On branch master: 在master的分支上

No Commits yet :现在没有任何的提交到本地库

Untracked files:没有追踪的文件,追踪:就是git把这个文件管理起来了

(user "git add <fiile>..." to include in what will be committed):使用git add 将这个文件包含到将要提交的地方,也就是暂存区,我们现在在工作区。

nothing added to commit but untracked files present (use "git add" to track):你没有任何要添加的文件到暂存区,但是存在未追踪的文件

git add:有二个作用:一个是让Git去追踪这个文件,另一个是让文件包含到暂存区。

Changes to be committed:检测到要被提交的修改,就是new file:hello.txt

(use "git rm --cached <file>..." to unstage):执行git rm --cached 文件名可以撤销,rm:删除,cached:缓存,把暂存区的文件删除

在(root-commit)后面有一个版本号 ,它是哈希加密的一个结果。

git commit git commit -m "日志信息" 文件名,需要先让Git去追踪,之后就可以直接提交

版本穿梭:通过版本号回到原来的版本

现在的指针指向现在的版本,只是做了一个版本的移动,没有创建新的版本。

13.分支操作

①什么是分支

在版本控制过程中,同时推进多个任务 

②分支的好处

同时并行推进多个功能开发,提高开发效率 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

③分支操作

master:颜色为绿色,是现在所在的分支。

git merge 分支名

把指定的分支合并到当前分支上

什么叫合并呢?

我们同时进行二个项目的开发,做完后要将项目合并到一起。

我们先回到主干分支

然后将hotfix分支合并,可以看到他增加了一行,减少了一行。

14.GitHub操作

名称

Email地址

javawxid@aliyun.com

GitHub账号

BoomManager

15.创建远程库

可以创建GitHub:有许多国外的优秀项目,但网络连接速度较慢。也可以创建码云账户:国内的代码托管中心,国内的程序员更适应些。

分享GitHub的注册与使用(详细图解)

16.远程库操作

①创建远程库地址别名

git remote -v 查看当前所有远程地址别名 git remote add 别名 远程地址

②推送

git push 别名 分支

③克隆

git clone (你要克隆谁的,他的远程地址)

注意:先进入到你自己需要克隆到的目录,然后在克隆别人的远程库地址

④邀请加入团队

*⑤拉取: *从远程库拉取到本地库

git pull 远程库地址别名 远程分支名

我现在用了别名origin,添加别名:git remote add 别名 远程地址

17.跨团队协作

分享:团队协作,组织和分支

18.SSH登录

进入当前用户的家目录 cd ~删除.ssh目录 rm -rvf .ssh运行命令生成.ssh密钥目录 ssh-keygen -t rsa -C javawxid@aliyun.com[注意:这里-C这个参数是大写的C]进入.ssh目录查看文件列表 cd .ssh ls -lF查看id_rsa.pub文件内容 cat id_rsa.pub复制id_rsa.pub文件内容,登录GitHub,点击用户头像→Settings→SSH and GPG keysNew SSH Key输入复制的密钥信息回到Git bash创建远程地址别名git remote add origin_ssh git@github.com:BoomManager/Repository01.git推送文件进行测试

19.Eclipse操作

①初始化本地库

②忽略文件

编辑一个专门配置文件忽略的文件,文件名任意

代码语言:javascript
复制
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target

在~/.gitconfig文件中引入上述文件

代码语言:javascript
复制
[core]

    excludesfile = C:/Users/Lenovo/Java.gitignore

[注意:这里路径中一定要使用“/”,不能使用“\”] 

③推送

④克隆

⑤分支操作

分享git教程

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分享博客:SVN使用—工作模式及运行原理以及优缺点对比
  • 分享GitHub的注册与使用(详细图解)
相关产品与服务
Prowork 团队协同
ProWork 团队协同(以下简称 ProWork )是便捷高效的协同平台,为团队中的不同角色提供支持。团队成员可以通过日历、清单来规划每⽇的工作,同时管理者也可以通过统计报表随时掌握团队状况。ProWork 摒弃了僵化的流程,通过灵活轻量的任务管理体系,满足不同团队的实际情况,目前 ProWork 所有功能均可免费使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档