`
superxielei
  • 浏览: 267115 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

Git 系列之一:版本控制的概念、分布式、Git 简介及其工作流程

    博客分类:
  • git
git 
阅读更多

UPDATE:这里记录的“Git 工作流程”比较适合于团队大部分人没有使用过 Git 的情况,能够简单无障碍入门;以及,适合于系统比较大,不同的人工作于不同的部分,彼此进度不一的情况。日志写作时,我们正好符合这两个情况,所以采用了所述的流程。随着时间的推移,团队成员使用 Git 已经比较熟练,而我们系统的开发也逐渐成熟,现已转用了另一种流程。大体而言,跟这个思路比较接近:http://nvie.com/posts/a-successful-git-branching-model/ 。

——

注:

Git 的强大、灵活、好用,毋庸置疑。

但也正是 Git 的灵活性,在公司推行时,如何执行统一的流程成为一个问题。我想了不少时间才制订出一个办法。

目的是规范、统一。还有就是,Windows 下的同事,特别是不熟悉命令行的同事,怎样才能使他们好理解,并且觉得简单(之前大家觉得概念太多,难以理解;步骤多,记不住,不小心就搞错,冲突频发)。

说到 Windows,Git 在 Windows 下不如 Linux 下好使,这也是一个需要考虑的问题。

同样是在公司 Wiki 上写的,再次拿到 Blog 来凑数呵呵~。

版本控制

——————
简单地说,就是将在本地开发的代码,定时推送到服务器。每一次修改,记录下它的作者、时间及修改说明等。

相对的,我们也可以从服务器下拉其他人推送的代码,并了解它的作者、时间、修改说明及其具体的修改内容。

这样,版本控制给团队协作开发提供了极大的方便。即使是一个人开发,因为它记录下了我们整个的开发历史,也是极有帮助和价值的。

比如,如果某次修改甚至整个系统出现问题,它也能帮助找回我们珍贵的代码。

分布式版本控制

——————————–
更进一步,分布式版本控制工具使得我们在本机上即拥有完整的功能,不依赖于服务器,使用更为方便。它们往往也提供其它更好用或更强大的功能,比如灵活的分支管理。

Git

——–
Git 是 Linux 之父 Linus Trovalds,为管理 Linux 内核代码而建立的,被认为是分布式版本控制工具中的顶级水准。智能、友好、强健、高效。

Git 工作流程

—————————-
1、使用中央服务器辅助协作;

2、每人在服务器拥有一个以自己 id 为名称的分支;

3、各人只许推送更新到自己的分支,不允许推送到别人的分支或者 master;

4、master 由专人管理,在合适时 merge 其它分支(开发初期每日自动 merge 各人分支,生产化后则由人工 merge 经过 review 的分支);

5、代码修改 merge 到 master 后,将同步到所有终端。

【TIP】:熟悉之后,你可以创建类似 myId_branchName 的其它分支。

【TIP】:以上只是概念介绍,至于具体的操作,请参考:《Windows 下 Git 配置与使用指南》、 《Git 进阶功能》

分享到:
评论

相关推荐

    知识领域: 软件开发 技术关键词: Git版本控制 内容关键词: 分布式版本追踪与团队协作

    对资源的描述: Git是一个分布式版本控制系统,它允许多个开发者在各自的本地仓库上进行代码修改,并通过提交(commit)来记录变更。通过分支(branch)机制,开发者可以在不影响主线(main branch)的情况下进行特性开发...

    Git是一个开源的分布式版本控制系统 64位

    作为一个开源的分布式版本控制系统,Git的核心设计理念在于让开发者能够轻松地追踪代码的变化,协作开发,并且能够回溯到任何历史版本,这对于团队合作和代码维护至关重要。 Git的分布式特性意味着每个开发者的本地...

    Git 从入门到精通:版本控制实战指南

    Git的工作原理:讲解了Git的分布式版本控制系统的特点,包括本地仓库与远程仓库的概念,以及Git的常见操作如克隆(Clone)、推送(Push)、拉取(Pull)等。 Git的安装与配置:提供了Git在Windows平台上的安装步骤...

    Git资料Git资料Git资料Git资料Git资料

    Git 是一个强大的分布式版本控制系统,由 Linux 之父 Linus Torvalds 开发,最初是为了管理 Linux 内核开发而设计。与传统的集中式版本控制系统(如 CVS, Subversion)不同,Git 不需要中央服务器,每个开发者的电脑...

    Git是一个开源的分布式版本控制系统,它用于敏捷高效地处理任何大小项目的版本管理 以下是Git的详细教程,包括Git的基本概念、

    gitGit是一个开源的分布式版本控制系统,它用于敏捷高效地处理任何大小项目的版本管理。以下是Git的详细教程,包括Git的基本概念、安装、基本使用、远程仓库操作、分支管理以及IDEA中集成Git的使用等内容。 一、Git...

    Git 是一个分布式版本控制系统,用于管理代码版本和协作开发 下面是一个 Git 教程,covering the basics

    Git 是一个分布式版本控制系统,用于管理代码版本和协作开发。下面是一个 Git 教程,covering the basics of Git and its usage: 1. Git 的基本概念 Repository(仓库): Git 存储代码的主要位置。 Commit(提交...

    分布式版本控制系统-Git详解

    `Git`提供了一系列强大的命令来支持版本控制的各种操作,下面是一些常用的命令示例: - **初始化一个新的`Git`仓库**:`$ git init` - **添加文件到仓库**:`$ git add .`(添加所有文件);`$ git add *.rb`(添加...

    Git分布式版本控制系统权威指南视频教程

    ### Git分布式版本控制系统权威指南知识点概述 #### 一、Git简介与安装配置 - **Git的概念**:Git是一款开源的分布式版本控制系统,用于追踪在软件开发过程中对文件的修改历史,方便多用户协同工作。 - **Git的...

    Git版本控制管理 第2版.pdf.zip

    《Git版本控制管理 第2版》这本书详细介绍了Git的核心概念、基本操作和高级特性,帮助读者深入理解和熟练掌握这一强大的工具。 Git的版本控制特性允许团队成员在不同的分支上独立工作,然后将更改合并到主分支,...

    Git(开源的分布式版本控制系统)最新版安装包

    Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。 这里默认下载的是64位的软件 双击下载的安装文件来安装Git。 一直下一步直到安装完成...

    Git分布式版本控制系统

    Git是一种强大的分布式版本控制系统,由Linux之父Linus Torvalds在2005年创建,初衷是为了更好地管理Linux内核开发。Git的核心理念是分布式,这意味着每个开发者的本地计算机上都有一个完整的版本库,可以进行提交、...

    git安装包 分布式版本控制

    Git是一款强大的分布式版本控制系统,由Linus Torvalds在2005年为Linux内核开发而创建。它被广泛应用于软件开发、文档管理以及协作项目,因其高效、灵活和可扩展性而受到全球开发者的青睐。由于Git的官方网站下载...

    分布式版本控制系统Git.docx

    ### 分布式版本控制系统Git知识点总结 ...通过以上内容,我们可以看到Git作为一种分布式版本控制系统,在项目管理和版本控制方面具有强大的功能和灵活性。无论是个人还是团队开发,Git都能提供有效的支持。

    探索Git差异分析:掌握版本控制的关键技巧

    Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目版本管理。Git是目前世界上最流行的版本控制系统,被广泛应用于软件开发中,用于代码的版本控制和协同工作。 Git的...

    GIT分布式版本控制

    GIT分布式版本控制

    git分布式版本控制工具安装包

    Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。它可以跟踪文件的变化、记录历史版本、方便团队协作开发以及实现代码的备份和恢复。 分布式架构: 与传统的集中式版本控制系统不同,...

    十四、Git(分布式版本控制)

    Git 是一种高度先进的分布式版本控制系统,由Linux内核开发者Linus Torvalds创建。它的核心优势在于其高效、安全和灵活性。Git 的出现解决了传统集中式版本控制系统如CVS和SVN所面临的一些问题,如网络依赖性、文件...

    Go-s3git-云存储的Git。数据的分布式版本控制。

    " 指出的是一个使用Go语言实现的工具,名为s3git,它将Git的版本控制概念应用于云存储,使得在云环境中对数据进行分布式版本管理成为可能。这种技术的主要目标是为云存储提供类似于Git的高效、安全和可扩展的版本...

Global site tag (gtag.js) - Google Analytics