版本控制系统

为什么Git比Subversion更好?

自古美人都是妖i 提交于 2020-02-26 17:14:18
我已经使用 Subversion 几年了,在使用 SourceSafe之后 ,我只是喜欢Subversion。 结合 TortoiseSVN ,我无法想象它会如何变得更好。 然而,越来越多的开发人员声称Subversion存在问题,我们应该转向新一代的分布式版本控制系统,例如 Git 。 Git如何改进Subversion? #1楼 一些答案已经提到了这些,但我想明确指出2点: 1)进行选择性提交的能力(例如, git add --patch )。 如果您的工作目录包含多个不属于同一逻辑更改的更改,Git可以非常轻松地进行仅包含部分更改的提交。 使用Subversion很难。 2)在不公开变更的情况下提交的能力。 在Subversion中,任何提交都是立即公开的,因此是不可撤销的。 这极大地限制了开发人员“提前提交,经常提交”的能力。 Git不仅仅是一个VCS; 它也是开发补丁的工具。 Subversion仅仅是一个VCS。 #2楼 其他答案在解释Git的核心功能方面做得很好(很棒)。 但也有很多 小 方法让Git表现得更好,并有助于让我的生活更加健全。 以下是一些小事: Git有一个'干净'命令。 SVN迫切需要这个命令,考虑它会在磁盘上转储额外文件的频率。 Git有'bisect'命令。 这真好。 SVN在每个文件夹中创建.svn目录(Git只创建 一个 .git目录)。

浅谈Windows下SVN在Android Studio中的配置、基本使用及解除关联

拥有回忆 提交于 2020-02-26 15:51:48
看到网上很多关于svn环境配置和关联Android-Studio的很多博文,发现很零散,想集大家所长整理一下: 在AndroidStudio中开发版本控制中,除了Git就是SVN,和Eclipse不同Android Studio没有提供单独的插件, 只能和SVN客户端关联使用 ,和Eclipse安装有很大区别,下面介绍在AndroidStudio中SVN的配置和基本使用。 如果已经搭建好了服务端,只是在日常工作中import和checkout代码,只需下载TortoiseSVN客户端 就行,完全可以跳过以下步骤: 建立SVN版本库 (Repository)、 配置用户和权限 。 一、SVN的安装 到 TortoiseSVN 官网下载最新的软件,也可以在 Subversion中文站 找到相应的软件。 我的64位系统,安装 TortoiseSVN-1.8.3.24901-x64-svn-1.8.4 版本 安装过程需要特别注意的是安装SVN时必须安装command line 功能,只有安装带有 command line 功能的 SVN 客户端,AndroidStudio才能使用。安装SVN时需要用户自定义选择 command line ,默认是不会自动安装的,如下图: 需要选择安装 command line 功能 如果采用默认安装,安装完成,启动命令行,输入: svn 则会提示:'svn

实验一 git代码版本管理

烂漫一生 提交于 2020-02-26 15:42:15
实验一 GIT 代码版本管理 实验目的:    1)了解分布式分布式版本控制系统的核心机理;   2) 熟练掌握git的基本指令和分支管理指令; 实验内容:    1)安装git   2)初始配置git ,git init git status指令   3)掌握git log ,git add ,git diff 指令   4) 掌握git tag git branch,git commit 指令   5)掌握git revert 指令 实验记录:   1)初次配置git 2)从头创建仓库    在对 Git 仓库进行 commit 或执行任何其他操作之前,需要一个实际存在的仓库。要使用 Git 新建一个仓库,我们将使用 git init 命令。   创建项目目录并使用git init命令   克隆现有仓库    在 Git 上进行克隆的方法是调用我们将在终端上运行的命令 git clone,然后传入要克隆的 Git 仓库的路径。   首先需要验证终端位置,在克隆任何内容之前,确保命令行工具已定位于正确的目录下。克隆项目会新建一个目录,并将克隆的 Git 仓库放在其中。   判断仓库的状态   git status 是了解 Git 的核心所在。它将告诉我们 Git 正在考虑什么,以及 Git 所看到的我们仓库的状态。 3)git log   使用命令行转到项目的目录下,输入git

Git的学习笔记

余生颓废 提交于 2020-02-26 13:19:37
Git简介 Git是先进的分布式版本控制系统。 什么是版本控制系统(VCS) 自动记录每次文件的改动,并可以让他人协作编辑的系统软件。 版本控制 先来理解版本控制,所谓版本控制,意思是再文件的修改历程中保留修改的历史,让你可以方便的撤销之前对文件的修改操作。 最简化的版本控制模型就是编辑器中的**[撤销]**功能。当你发现前几天有个地方写错了,要回到原来的版本时,可以通过VCS选择撤回到原来的版本。或者对于某个功能有了不同的实现方法,你想将两种都保留下来,你可以在之前的基础上创建分支,在分支上修改,也不会影响另外的版本。 主动提交 多人合作同步需求 开发团队中的每个人向中央仓库主动提交自己的改动和同步别人的改动,并在需要时查看和操作历史版本,这就是版本控制系统。 安装 从 git官网 下载安装包,按默认选项安装即可。安装完成后再开始菜单里找到"Git"->"Git Bash",会蹦出一个类似命令行窗口的东西,说明安装成功! 安装完成后,还需要最后一步设置,在命令行输入: $ git config --global user.name "Your Name" $ git config --global user.email " email@example.com " 因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。 注意 git config

关于Git安装本地建仓库的记录(百度的)

喜夏-厌秋 提交于 2020-02-26 13:14:52
首先附上原文链接 https://blog.csdn.net/gxx_csdn/article/details/78905231 git介绍 git是一个分布式的开源版本控制系统,git是一种技术或者说是工具gitee和github是基于git的代码托管平台。 git和svn的区别:svn是一个集中式开源的版本控制系统,svn对于权限管理方面更加严格。 1、下载git 下载链接: https://git-scm.com/downloads ps 官网上下载特别慢,刚开始我以为是因为网速不行,后来发现都有这个问题。百度云下载还好点。 链接: https://pan.baidu.com/s/1DMdyuL_KFh9OqEV7yCUqdA 提取码:9j3f 2、安装git(win10*64) 参考链接: http://git.mydoc.io/?t=180692 默认安装就可以,自行安装不需要手动配置环境变量,git会自动配置。 3、打开cmd,输入 git --version,如果出现版本号则说明安装成功 来源: https://www.cnblogs.com/liuhuairi/p/12365842.html

【软件项目管理】关于Github

岁酱吖の 提交于 2020-02-26 05:59:01
Git是一个分布式的版本控制系统,最初由Linus Torvald编写,用作Linux内核代码的管理。作为开源代码库以及版本控制系统,Github拥有140多万开发者用户。 在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。 GitHub可以托管各种git库,并提供一个web界面,GitHub的独特卖点在于从另外一个项目进行分支的简易性。有人将GitHub称为代码玩家的MySpace。 GitHub 使用 git 分布式版本控制系统,而最初Linus Torvalds针对的是 Linux 平台,因此 git 并不像 Windows。 GitHub for Windows 是一个 Metro 风格应用程序,集成了自包含版本的 Git,bash 命令行 shell,PowerShell 的 posh-git 扩展。GitHub 为 Windows 用户提供了一个基本的图形前端去处理大部分常用版本控制任务,可以创建版本库,向本地版本库递交补丁,在本地和远程版本库之间同步。 (出处:百度百科) 我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。 怎么使用? 1

Jenkins实现html代码上线与回滚

这一生的挚爱 提交于 2020-02-26 02:59:40
一、案例环境 二、部署Gitlab 1)部署Gitlab 2) 配置免密登录 3)测试免密登录 三、部署Jenkins 四、Jenkins集成Gitlab 五、部署Nginx 六、Jenkins实现代码自动上线 七、Jenkins实现代码自动部署与回退及重复构建 一、案例环境 系统 IP地址 主机名 所运行的服务 Centos 7 192.168.1.6 gitlab gitlab Centos 7 192.168.1.7 Jenkins jenkins Centos 7 192.168.1.8 Nginx nginx 二、部署Gitlab 1)部署Gitlab [root@gitlab ~]# yum -y install epel-release curl openssh-server openssh-clients postfix cronie policycoreutils-python patch #安装所需依赖 [root@gitlab ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm #对gitlab的版本并没有什么特殊的限制 [root@gitlab ~]# yum -y localinstall gitlab-ce

centos7中搭建svn服务器

梦想与她 提交于 2020-02-26 00:37:51
系统环境:centos7.5 1)通过yum命令安装svnserve yum -y install subversion 若需查看svn安装位置,可以用以下命令: rpm -ql subversion 2)创建版本库目录(此仅为目录,为后面创建版本库提供存放位置) 选择在home路径下创建版本库,当前处于根目录下,一次性创建如下: mkdir /home/svnrepos 3)创建svn版本库 在第二步建立的路径基础上,创建版本库,命令如下: svnadmin create /var/svnrepos/svnproject 创建成功后,进入svnproject目录下 cd /var/svnrepos/svnproject 包含以下文件 conf db format hooks locks README.txt 4)配置修改 进入conf cd /var/svnrepos/svnproject/conf conf目录下,一共存放三份重要的配置文件,如下: authz:负责账号权限的管理,控制账号是否读写权限 passwd:负责账号和密码的用户名单管理 svnserve.conf:svn服务器配置文件 4.1)编辑 authz 文件(注意:[/]也是必须的) [/] 表示根目录,即 /home/svnrepos rw 表示用户对根目录具有读写权限。 [/] xiaohei = rw

.gitignore文件

戏子无情 提交于 2020-02-25 18:52:34
Git中非常重要的一个文件——.gitignore。 这里给出win7的创建方法: 创建一个文件,文件名为:“.gitignore.”,注意前后都有一个点。保存之后系统会自动重命名为“.gitignore”。 一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。 其他创建方法: 1.进入项目的目录下,点击右键单击【git bash】 2.打开【git bash】的界面 3.在命令下输入【touch .gitignore】创建文件 这个文件的内容是一些规则,Git会根据这些规则来判断是否将文件添加到版本控制中。 eg:node_modules 常用的规则: /mtk/ 过滤整个文件夹 *.zip 过滤所有.zip文件 /mtk/do.c 过滤某个具体文件 被过滤掉的文件就不会出现在你的GitHub库中了,当然本地库中还有,只是push的时候不会上传。 需要注意的是,gitignore还可以指定要将哪些文件添加到版本管理中: !*.zip !/mtk/one.txt 唯一的区别就是规则开头多了一个感叹号,Git会将满足这类规则的文件添加到版本管理中。 # 此为注释 – 将被 Git 忽略 *.a # 忽略所有 .a 结尾的文件 !lib.a # 但 lib.a 除外 /TODO # 仅仅忽略项目根目录下的 TODO

版本控制svn

戏子无情 提交于 2020-02-24 17:32:22
环境:ubuntu10.04LTS 1、在终端中直接输入 sudo apt-get install subversion,选择安装即可 2、查看版本命令 svnserve --version(更多命令直接键入svnserve --help可查看到) 3、查看svnserver是否已启动: netstat -ntlp,可看到svn对应的端口3690(如果没有看见,则证明服务未启动,可使用svnserve -d启动svn服务,还可以通过 svnserve -d -r /home/wwwwfw/mobile来指定启动目录) 4、建立项目:svnadmin create mobile(mobile为项目名称,位置在当前登录用户的主目录下,如我使用wwwwfw登录,则路径为/home/wwwwfw/mobile) 5、在mobile文件夹中可以看到conf文件夹,可针对conf文件夹中的authz、passwd、svnserve.conf进行设置,svnserve.conf主要设置整体的安全策略,passwd则设置用户名和密码,authz则是设置具体的用户有什么权限。 7、常用svn命令: checkout (co)命令: svn co url --username user --password password 根据提示可以输入yes来保存帐号和密码; update (up)命令: