你一定知道的 Git 分支模型

你一定知道的 Git 分支模型

本文不是一篇 Git 入门指南也不是对 Git 命令行使用技巧的讲解,而是谈谈作者在过往工作中使用的几种代码版本管理工具的一些体会,同时重点讲解一下 Git 的分支模型。

注:本文中涉及到的图片均来源于互联网。

背景

谈论到代码版本控制,相信大家在项目开发过程中或多或少都有使用过 SVN 和 Git。对代码的更新、提交、合并等操作都非常的熟悉,但是许多人对如何在项目中选择适合的代码管理工具以及对应的工作流却不是很清楚。

最近刚好在团队内组织了一次以”一个成功的 Git 分支模型“为主题的分享活动,旨在同大家一起回顾一下过往项目中使用几种代码版本管理的经历及体会,并以此来讨论 Git 分支模型的适用场景,现将 PPT 中主要内容进行梳理,以内容输出的方式供大家了解。

版本管理工具

项目开发过程中大家可能使用比较多的版本管理工具有:VisualSVNTortoiseSVNBazzarMercurialGitBitkeeper 等等。

其中 VisualSVNTortoiseSVNBazzar 为集中式版本控制系统,MercurialGitBitkeeper 为分布式版本控制系统。

阅读更多
.gitignore 设置无效,不能过滤指定文件

.gitignore 设置无效,不能过滤指定文件

通常我们都会利用.gitignore 过滤一些特定的文件,例如:系统产生的文件、编译过程中产生的中间文件以及特定的脚本文件(.idea.DS_storenode_modulesxx.sh)等等,这些文件不需要被追踪管理。

遇到的问题

.gitignore中添加xx.sh文件,以过滤该文件,但是通过git status查看仍显示xx.sh文件的状态。

产生的原因

git库中已存在了这个文件,之前 push 提交过该文件。

注:.gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了

解决的办法

git库中删除该文件,并更新。再次用git status命令查看状态,xx.sh文件不再显示状态。

注:若该删除的文件为特殊文件,请注意备份。