CVS - Concurrent Versions System
CVS是一个C/S系统,是一个常用的代码版本控制软件。主要在开源软件管理中使用。多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。但是由于之前CVS编码的问题,大多数软件开发公司都使用SVN替代了CVS。
SVN - subversion
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
SVN 官网:https://subversion.apache.org/
Github SVN 源码:https://github.com/apache/subversion
windows下有如下版本:
如果客户端和服务端都需要就选择visualSVN吧
只安装客户端就选择TortolseSVN吧
都是选个路径,直接next->next
IDEA继承SVN
TortolseSVN安装的时候注意安装整个功能到本地磁盘,如下图
这样安装过后就会在bin目录中出现svn.exe。再在IDEA中配置svn.exe,如下图:
如果要把本地IDEA项目分享到SVN:
1.点击VCS->enable version control integration
2.在弹出框中,选择 subversion
3.在项目上右键,选择subversion->share directory
4.最后就可以提交你的文件了
5.如果想取消SVN版本控制,删除项目根目录下的 .idea/vsc.xml 和 .svn 隐藏目录即可
如果要把SVN上的项目拉到本地:
1.点击VCS->checkout from version control->subversion,点击"+",输入地址
2.点击File->New->project from version control->subversion,点击"+",输入地址
git
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
git官方地址:https://git-scm.com/
安装过程就一路next吧
当然你也可以安装tortolseGit来简化操作
TortoiseGit – Windows Shell Interface to Git
IDEA继承Git
从Git上拉取项目到本地
于SVN方式类似,只是把subversion换成Git
注意git拉取远程仓库不是checkout,而是clone
提交本地项目到Git
于SVN方式类似
注意git更新到本地仓库是commit,更新到远程仓库是push
在git-bash.exe中
生成公钥
ssh-keygen -t rsa -C "xxxxxxx"
查看公钥
cd ~/.ssh/
cat id_rsa.pub
把公钥复制到gitee里吧,点击头像->设置->安全设置->SSH公钥
点击加号,新建仓库
输入仓库名称
选择java,jetBrains,apache-2.0
点击创建
rebase与merge
https://git-scm.com/docs/git-rebase
merge是将指定分支合并到当前分支上去。
rebase是将你的当前分支重新设置开始点。
总的原则是,只对尚未推送给别人的本地修改执行rebase操作清理历史, 对已推送至别处的提交执行merge操作。
git fetch
更新remote索引
git stash & git unstash
暂存更改并回滚,使用keep index可以暂存多个
git log --since =2022-01-01 --until==2023-12-31 --author="zhangpengyu" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'