世界不是完美的。大多数时候,将所有接触到的项目全部转向 Git 是不可能的。有时我们不得不为某个项目使用其他的版本控制系统(VCS, Version Control System ),其中比较常见的是 Subversion 。你将在本章的第一部分学习使用git svn ,Git 为 Subversion 附带的双向桥接工具。
现在你已经有一个git本地仓库,一切都配置完毕。然后该怎么办? 一般来说,跟其他的源码控制系统的工作流程没什么两样,唯一一个区别就是载入(stage)的过程。
git-cola 是一个采用 Python 开发的时尚和功能强大的 Git 客户端 GUI 工具。
git-ftp是一个基于Git的FTP客户shell脚本。
msysgit 的开发成员 dscho 从 msysgit fork 后合并 git 官方代码推出了 git 发行版 git-for-windows,git-for-windows 使用MSYS2 的工具链,但是在基本设置上沿袭了 msysgit 的设置,版本比 msysgit 新
到目前为止,我阐述了 Git 基本的运作机制和使用方式,介绍了 Git 提供的许多工具来帮助你简单且有效地使用它。 在本章,我将会介绍 Git 的一些重要的配置方法和钩子机制以满足自定义的要求。通过这些工具,它会和你和公司或团队配合得天衣无缝。
几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间。
在Windows环境中使用版本管理工具Git。Git是一个分布式的版本控制系统,最初由LinusTorvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,目前很多知名项目都使用了Git。 一、为什么选择Git对于流行的软件版本开源管理软件,元老级的CVS、后来新秀的SVN,GIT的优势又在哪里呢?1.傻瓜都会的初始化,gitinit,gitcommit-a,就完了。2.绝大部分操作在本地完成,只有最终完成的版本才需要向代码管理服务器提交。3.每次提交都会对所有代码创建一个全球唯一的commitid。4.branch管理容易多了,无论是建立新的,还是切换都一条命令完成。5.branch之间merge时,不仅代码会merge在一起,checkin历史也会保留。其他特点:1、更方便的Merge2、更方便的管理3、更健壮的系统分布式系统一般情况下总是比单服务端的系统要健壮,因为但服务端一旦服务器挂掉了整个系统就不能运行了。
Git是目前世界上最先进的分布式版本控制管理系统。
Git是分布式版本控制系统,我们常用的版本控制工具还有SVN。这里就得区分下什么是分布式版本控制系统,什么是集中化的版本控制系统。
支持离线工作;本地提交可以稍后提交到服务器上。 Git 中的每个工作树都包含一个具有完整项目历史的仓库。 没有哪一个 Git 仓库会天生比其他仓库更重要。 Git 跟SVN一样有自己的集中式版本库或服务器。
Gandalf 是一套 REST API ,用 Go 语言便携的用于管理 Git 资料库和用户,病提供了通过 SSH 访问的方法。
支持离线工作;本地提交可以稍后提交到服务器上。 Git 中的每个工作树都包含一个具有完整项目历史的仓库。 没有哪一个 Git 仓库会天生比其他仓库更重要。 Git 跟SVN一样有自己的集中式版本库或服务器。
上一篇介绍了Git的基本概念和一些基本命令,本篇的重点在如下三个 部分:个性化定制你的Git,更酷更巧妙的使用Git,以及如何在Git Hub上开启你自己的开源项目。在所有技巧中,最重要的技巧是学会查看Git的帮助,因为Git是一个相对复杂的版本控制工具,如果你熟悉它的命令,那么 给你带来的价值是不言而喻的。
git的分支是“日常用品”,软件的各种功能可在隔离的分支里开发。这是合理的,因为合并的过程有时会不受控制。如果你在默认主线上开发,而一个提交了的功能被推迟使用,你就要在完全不一样的功能上开发,而在此之前,你要还原你在主线上的修改。功能分支能让你隔离变化并使合并的过程简化,不过,一旦你开始使用功能分支,你就会发现命令行不再是无所谓的。想要正确地理解git并成功地使用它,就该首先掌握它的命令。
Git 分支与合并
git目前是最流行的代码管理软件,包括Linux kernel源码和android源码都是由git来管理。git使用起来效率高,干净,生成的中间文件不会影响到代码,比起SVN有很大优势。
Agit 是一个开源的 Android 平台上的 Git 客户端软件。
当进行Git远程操作的时候,有两个概念需要掌握: 跟踪分支 -- tracking branch 跟踪远程分支 -- remote tracking branch
git操作命令