版本控制

什么是 Git

◇◆丶佛笑我妖孽 提交于 2019-12-04 02:07:28
概述 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。 为什么需要版本控制 在软件开发过程,每天都会产生新的代码,代码合并的过程中可能会出现如下问题: 代码被覆盖或丢失 代码写的不理想希望还原之前的版本 希望知道与之前版本的差别 是谁修改了代码以及为什么修改 发版时希望分成不同的版本(测试版、发行版等) 因此,我们希望有一种机制,能够帮助我们: 可以随时回滚到之前的版本 协同开发时不会覆盖别人的代码 留下修改记录,以便随时查看 发版时可以方便的管理不同的版本 什么是版本控制系统 一个标准的版本控制系统 Version Control System (VCS),通常需要有以下功能: 能够创建 Repository (仓库),用来保存代码 协同开发时方便将代码分发给团队成员 记录每次修改代码的内容、时间、原因等信息 能够创建 Branch (分支),可以根据不同的场景进行开发 能够创建 Tag (标签),建立项目里程碑 版本控制系统的发展史 版本控制系统发展至今有几种不同的模式: Local VCS 本地使用 复制/粘贴

版本控制使用git比svn更有优势

天大地大妈咪最大 提交于 2019-12-04 01:46:11
Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理,第二篇重点介绍 Git的使用技巧,最后会在Git Hub上创建一个开源项目开启你的Git实战之旅 1、Git是什么 Git在Wikipedia上的定义:它是一个免费的、分布式的版本控制工具,或是一个强调了速度快的源代码管理工具。Git最初被Linus Torvalds开发出来用于管理Linux内核的开发。每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖 于网络和中心服务器。 Git的出现减轻了许多开发者和开源项目对于管理分支代码的压力,由于对分支的良好控制,更鼓励开发者对自己感兴趣的项目做出贡献。其实许多开源项目 包括Linux kernel, Samba, X.org Server, Ruby on Rails,都已经过渡到使用Git作为自己的版本控制工具。对于我们这些喜欢写代码的开发者嘛,有两点最大的好处,我们可以在任何地点(在上班的地铁 上)提交自己的代码和查看代码版本;我们可以开许许多多个分支来实践我们的想法,而合并这些分支的开销几乎可以忽略不计。 2、Git 1+1

git 常用命令 Git 常用命令详解(二)

瘦欲@ 提交于 2019-12-04 01:45:56
开源中国 Git 代码托管平台 —— http://git.oschina.net Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍,请参考我的上一篇博客:Git 版本管理工具 一、 Git 命令初识 在正式介绍Git命令之前,先介绍一下Git 的基本命令和操作,对Git命令有一个总体的认识 示例:从Git 版本库的初始化,通常有两种方式: 1)git clone:这是一种较为简单的初始化方式,当你已经有一个远程的Git版本库,只需要在本地克隆一份 例如:git clone git://github.com/someone/some_project.git some_project 上面的命令就是将' git://github.com/someone/some_project.git'这个URL地址的远程版本库,完全克隆到本地some_project目录下 2)git init 和 git remote:这种方式稍微复杂一些,当你本地创建了一个工作目录,你可以进入这个目录,使用'git init'命令进行初始化;Git以后就会对该目录下的文件进行版本控制,这时候如果你需要将它放到远程服务器上,可以在远程服务器上创建一个目录

Git详解之一 Git起步

浪子不回头ぞ 提交于 2019-12-03 20:59:12
起步 本章介绍开始使用 Git 前的相关知识。我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作。读完本章,你就会明白为什么 Git 会如此流行,为什么你应该立即开始使用它。 1.1 关于版本控制 什么是版本控制?我真的需要吗?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制。 如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能)。采用版本控制系统 (VCS)是个明智的选择。有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出最 后是谁修改了哪个地方,从而导致出现怪异问题,又是谁在何时报告了某个功能缺陷等等。使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改 的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量却微乎其微。 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单。不过坏处也不少:有时候会混淆所在的工作目录,一旦弄错文件丢了数据就没法撤销恢复。

Git 核心概念

女生的网名这么多〃 提交于 2019-12-03 20:21:27
原文链接 Git的核心概念 聪聪的个人网站 本文不是Git使用教学篇,而是偏向理论方面,旨在更加深刻的理解Git,这样才能更好的使用它,让工具成为我们得力的助手。 版本控制系统 Git 是目前世界上最优秀的分布式版本控制系统。版本控制系统是能够随着时间的推进记录一系列文件的变化以便于你以后想要的退回到某个版本的系统。版本控制系统分为三大类:本地版本控制系统,集中式版本控制系统和分布式版本控制系统 本地版本控制(Local Version Control Systems)是将文件的各个版本以一定的数据格式存储在本地的磁盘(有的VCS 是保存文件的变化补丁,即在文件内容变化时计算出差量保存起来),这种方式在一定程度上解决了手动复制粘贴的问题,但无法解决多人协作的问题。 本地版本控制 集中式版本控制(Centralized Version Control Systems)相比本地版本控制没有什么本质的变化,只是多了个一个中央服务器,各个版本的数据库存储在中央服务器,管理员可以控制开发人员的权限,而 开发人员也可以从中央服务器拉取数据。集中式版本控制虽然解决了团队协作问题,但缺点也很明显:所有数据存储在中央服务器,服务器一旦宕机或者磁盘损坏, 会造成不可估量的损失。 集中式版本控制 分布式版本控制( Distributed Version Control System)与前两者均不同。首先

版本控制报告:回答问题

微笑、不失礼 提交于 2019-12-03 17:29:52
项目名: 组名:构建之法 组长:康哲 组员:付宇泽 齐文华 都雪冬 杨萍 问题 0. 在吹牛之前,先回答这个问题: 如果你的团队来了一个新队员,有一台全新的机器, 你们是否有一个文档,只要设置了相应的权限,她就可以根据文档,从头开始搭建环境,并成功地把最新、最稳定版本的软件编译出来,并运行必要的单元测试? (在这过程中,不需要和老队员做任何交流) 答:不可以。但是我们将代码都进行了版本控制,新来的队员先下载git和微信开发者工具、再用git将远程仓库里的的代码clone到本地,通过微信开发者工具就可以查看代码,了解代码结构,熟悉代码之后也可以通过微信开发者工具进行编译测试运行。 1. 你的团队的源代码控制在哪里?用的是什么系统?如何处理文件的锁定问题? 答:我们组使用的是coding.net进行项目托管,使用GitBash进行版本控制,大家使用的都是win10系统,文件锁定的话是通过管理员权限进行控制的,只有小组里的人才有管理员权限,能够提交代码。由于代码人员少,签出时进行沟通即可。一个人签出后,另一个人不签出。 2. 如何看到这个文件和之前版本的差异? 如何看到代码修改和工作项 (work item),缺陷修复 (bug fix) 的关系。 答:每次push时在commit中的message部分注明修改内容,这样本次checkin做了什么改动一目了然;也可以在coding

WixVersionControl Wix项目版本控制

只谈情不闲聊 提交于 2019-12-03 13:48:50
原文链接: https://www.swack.cn/wiki/001565675133949eff0d3d5a51f48288cf6d8248905e28f000/001569821278313e6b6441c7a9d4a4992a2425717bb27d6000 场景 用于帮我们将WPF、MFC项目的Version与WIX项目的Version关联,实现自动化。 实现效果: 当我们在项目中设置了Version,编译后会自动更改Wix项目的版本信息,编译Wix项目生成带有版本号的 .msi 文件。 Github: https://github.com/SwackSun/WixVersionControl 来源: https://www.cnblogs.com/swack/p/11797708.html

Git详解之一 Git起步

老子叫甜甜 提交于 2019-12-03 10:56:26
起步 本章介绍开始使用 Git 前的相关知识。我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作。读完本章,你就会明白为什么 Git 会如此流行,为什么你应该立即开始使用它。 1.1 关于版本控制 什么是版本控制?我真的需要吗?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制。 如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能)。采用版本控制系统 (VCS)是个明智的选择。有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出最 后是谁修改了哪个地方,从而导致出现怪异问题,又是谁在何时报告了某个功能缺陷等等。使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改 的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量却微乎其微。 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单。不过坏处也不少:有时候会混淆所在的工作目录,一旦弄错文件丢了数据就没法撤销恢复。

svn版本控制

守給你的承諾、 提交于 2019-12-03 07:03:48
Windows系统安装svn 1、svn下载 https://sourceforge.net/projects/win32svn/ 2、验证是否安装成功 C:\Users\libingshen>svn --version 3、创建版本库 D:\mytest\mysvn\OA>svnadmin create D:\mytest\mysvn\OA 4、启动svn服务 5、验证svn服务是否启动 svn服务监听3690端口 6、svn注册为Windows服务 tip:等号左边没有空格,等号右边有一个空格。 C:\WINDOWS\system32>sc create MySVNService binpath= "C:\Pmyprogram\svn\bin\svnserve.exe --service -r D:\mytest\mysvn" start= auto depend= Tcpip 原因:每次启动svn服务时必须启动一个cmd窗口,cmd窗口一关闭,svn服务就关闭。 非管理员运行时会失败。 管理员运行 启动、停止、删除svn服务(管理员身份运行cmd) //启动svn服务 C:\WINDOWS\system32>sc start MySVNService //停止服务 C:\WINDOWS\system32>sc stop MySVNService //删除服务 C: