Git
文章平均质量分 74
lobal
这个作者很懒,什么都没留下…
展开
-
Git 分支衍合
3.6 Git 分支 - 分支的衍合分支的衍合把一个分支中的修改整合到另一个分支的办法有两种:merge 和 rebase(译注:rebase 的翻译暂定为“衍合”,大家知道就可以了。)。在本章我们会学习什么是衍合,如何使用衍合,为什么衍合操作如此富有魅力,以及我们应该在什么情况下使用衍合。基本的衍合操作请回顾之前有关合并的一节(见图 3-27),你会看到开发进原创 2015-01-03 13:18:56 · 663 阅读 · 0 评论 -
Git web服务器
4.6 服务器上的 Git - GitWebGitWeb现在我们的项目已经有了可读可写和只读的连接方式,不过如果能有一个简单的 web 界面访问就更好了。Git 自带一个叫做 GitWeb 的 CGI 脚本,运行效果可以到 http://git.kernel.org 这样的站点体验下(见图 4-1)。Figure 4-1. 基于网页的 GitWeb原创 2015-01-03 14:20:16 · 854 阅读 · 0 评论 -
Git 配置访问权限
4.8 服务器上的 Git - GitoliteGitolite本节作为Gitolite的一个快速指南,指导基本的安装和设置。不能完全替代随Gitolite自带的大量文档。而且可能会随时改变本节内容,因此你也许想看看最新的版本。Gitolite是在Git之上的一个授权层,依托sshd或者httpd来进行认证。(概括:认证是确定用户是谁,授权是决定该用户是否被允许做他想做原创 2015-01-03 15:00:11 · 4016 阅读 · 0 评论 -
Git 项目管理
5.3 分布式 Git - 项目的管理项目的管理既然是相互协作,在贡献代码的同时,也免不了要维护管理自己的项目。像是怎么处理别人用 format-patch 生成的补丁,或是集成远端仓库上某个分支上的变化等等。但无论是管理代码仓库,还是帮忙审核收到的补丁,都需要同贡献者约定某种长期可持续的工作方式。使用特性分支进行工作如果想要集成新的代码进来,最好局限在特性分支原创 2015-01-03 15:40:08 · 846 阅读 · 0 评论 -
Git 分支管理
3.3 Git 分支 - 分支的管理分支的管理到目前为止,你已经学会了如何创建、合并和删除分支。除此之外,我们还需要学习如何管理分支,在日后的常规工作中会经常用到下面介绍的管理命令。git branch 命令不仅仅能创建和删除分支,如果不加任何参数,它会给出当前所有分支的清单:$ git branch iss53* master testing原创 2015-01-03 12:20:00 · 484 阅读 · 0 评论 -
Git 分支工作流程
3.4 Git 分支 - 利用分支进行开发的工作流程利用分支进行开发的工作流程现在我们已经学会了新建分支和合并分支,可以(或应该)用它来做点什么呢?在本节,我们会介绍一些利用分支进行开发的工作流程。而正是由于分支管理的便捷,才衍生出了这类典型的工作模式,你可以根据项目的实际情况选择一种用用看。长期分支由于 Git 使用简单的三方合并,所以就算在较长一段时间内,反原创 2015-01-03 12:30:57 · 754 阅读 · 0 评论 -
Git 公共访问设置
4.5 服务器上的 Git - 公共访问公共访问匿名的读取权限该怎么实现呢?也许除了内部私有的项目之外,你还需要托管一些开源项目。或者因为要用一些自动化的服务器来进行编译,或者有一些经常变化的服务器群组,而又不想整天生成新的 SSH 密钥 — 总之,你需要简单的匿名读取权限。或许对小型的配置来说最简单的办法就是运行一个静态 web 服务,把它的根目录设定为 Git 仓库原创 2015-01-03 14:11:12 · 748 阅读 · 0 评论 -
Git 协议
4.1 服务器上的 Git - 协议协议Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。下面分别介绍一下哪些情形应该使用(或避免使用)这些协议。值得注意的是,除了 HTTP 协议外,其他所有协议都要求在服务器端安装并运行 Git。本地协议最基本的就是本地协议(Local protocol),所谓的远程仓库原创 2015-01-03 13:28:49 · 554 阅读 · 0 评论 -
Git Git用户ssh公钥管理
4.7 服务器上的 Git - GitosisGitosis把所有用户的公钥保存在 authorized_keys 文件的做法,只能凑和一阵子,当用户数量达到几百人的规模时,管理起来就会十分痛苦。每次改删用户都必须登录服务器不去说,这种做法还缺少必要的权限管理 — 每个人都对所有项目拥有完整的读写权限。幸好我们还可以选择应用广泛的 Gitosis 项目。简单地说,G原创 2015-01-03 14:43:54 · 1161 阅读 · 0 评论 -
Git 服务器搭建
4.4 服务器上的 Git - 架设服务器架设服务器现在我们过一边服务器端架设 SSH 访问的流程。本例将使用 authorized_keys 方法来给用户授权。我们还将假定使用类似 Ubuntu 这样的标准 Linux 发行版。首先,创建一个名为 'git' 的用户,并为其创建一个 .ssh 目录。$ sudo adduser git$ su git$ cd$原创 2015-01-03 13:55:14 · 692 阅读 · 0 评论 -
Git 分支创建与合并
3.2 Git 分支 - 分支的新建与合并分支的新建与合并现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程:开发某个网站。为实现某个新的需求,创建一个分支。在这个分支上开展工作。假设此时,你突然接到一个电话说有个很严重的问题需要紧急修补,那么可以按照下面的方式处理:返回到原先已经发布到生产服务器上的分支。原创 2015-01-03 12:12:43 · 749 阅读 · 0 评论 -
Git 修订版本
6.1 Git 工具 - 修订版本(Revision)选择修订版本(Revision)选择Git 允许你通过几种方法来指明特定的或者一定范围内的提交。了解它们并不是必需的,但是了解一下总没坏处。单个修订版本显然你可以使用给出的 SHA-1 值来指明一次提交,不过也有更加人性化的方法来做同样的事。本节概述了指明单个提交的诸多方法。简短的SHAGit原创 2015-01-03 15:51:26 · 650 阅读 · 0 评论 -
Git 分布式工作流程
5.1 分布式 Git - 分布式工作流程分布式工作流程同传统的集中式版本控制系统(CVCS)不同,开发者之间的协作方式因着 Git 的分布式特性而变得更为灵活多样。在集中式系统上,每个开发者就像是连接在集线器上的节点,彼此的工作方式大体相像。而在 Git 网络中,每个开发者同时扮演着节点和集线器的角色,这就是说,每一个开发者都可以将自己的代码贡献到另外一个开发者的仓库中,或者原创 2015-01-03 15:28:00 · 491 阅读 · 0 评论 -
Git分支
3.1 Git 分支 - 何谓分支何谓分支为了理解 Git 分支的实现方式,我们需要回顾一下 Git 是如何储存数据的。或许你还记得第一章的内容,Git 保存的不是文件差异或者变化量,而只是一系列文件快照。在 Git 中提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容快照的指针,包含本次提交的作者等相关附属信息,包含零个或多个指向该提交对象的父对象原创 2015-01-03 11:52:45 · 524 阅读 · 0 评论 -
Git 远程分支管理
3.5 Git 分支 - 远程分支远程分支远程分支(remote branch)是对远程仓库中的分支的索引。它们是一些无法移动的本地分支;只有在 Git 进行网络交互时才会更新。远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支的位置。我们用 (远程仓库名)/(分支名) 这样的形式表示远程分支。比如我们想看看上次同 origin 仓库通讯时master 分支的样子原创 2015-01-03 12:54:25 · 701 阅读 · 0 评论 -
Git 服务器部署
4.2 服务器上的 Git - 在服务器上部署 Git在服务器上部署 Git开始架设 Git 服务器前,需要先把现有仓库导出为裸仓库 — 即一个不包含当前工作目录的仓库。做法直截了当,克隆时用 --bare 选项即可。裸仓库的目录名一般以 .git 结尾,像这样:$ git clone --bare my_project my_project.gitCloning int原创 2015-01-03 13:39:48 · 685 阅读 · 0 评论 -
Git 服务器SSH公钥
4.3 服务器上的 Git - 生成 SSH 公钥生成 SSH 公钥大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。 首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。进去看看:$ cd ~/.ssh$ ls原创 2015-01-03 13:45:21 · 1027 阅读 · 0 评论 -
Git 守护进程
4.9 服务器上的 Git - Git 守护进程Git 守护进程对于提供公共的,非授权的只读访问,我们可以抛弃 HTTP 协议,改用 Git 自己的协议,这主要是出于性能和速度的考虑。Git 协议远比 HTTP 协议高效,因而访问速度也快,所以它能节省很多用户的时间。重申一下,这一点只适用于非授权的只读访问。如果建在防火墙之外的服务器上,那么它所提供的服务应该只是那些公原创 2015-01-03 15:07:00 · 748 阅读 · 0 评论 -
Git 托管服务
4.10 服务器上的 Git - Git 托管服务Git 托管服务如果不想经历自己架设 Git 服务器的麻烦,网络上有几个专业的仓库托管服务可供选择。这样做有几大优点:托管账户的建立通常比较省时,方便项目的启动,而且不涉及服务器的维护和监控。即使内部创建并运行着自己的服务器,同时为开源项目提供一个公共托管站点还是有好处的 — 让开源社区更方便地找到该项目,并给予帮助。目原创 2015-01-03 15:18:38 · 590 阅读 · 0 评论 -
Git contributer
5.2 分布式 Git - 为项目作贡献为项目作贡献接下来,我们来学习一下作为项目贡献者,会有哪些常见的工作模式。不过要说清楚整个协作过程真的很难,Git 如此灵活,人们的协作方式便可以各式各样,没有固定不变的范式可循,而每个项目的具体情况又多少会有些不同,比如说参与者的规模,所选择的工作流程,每个人的提交权限,以及 Git 以外贡献等等,都会影响到具体操作的细节。原创 2015-01-03 15:33:29 · 1302 阅读 · 0 评论 -
git 简写
alias gc='git clone 'alias gco='git checkout'alias gd='git diff'alias gl='git pull'alias gp='git push'alias gr='git branch'alias gst='git status'alias glog='git log'alias glogp='git原创 2016-12-14 22:23:42 · 4074 阅读 · 0 评论