当前位置: 首页 > 软件库 > 开发工具 > Git开源工具 >

Git

分布式版本控制系统
授权协议 GPLv2
开发语言 C/C++ Perl Python SHELL
所属分类 开发工具、 Git开源工具
软件类型 开源软件
地区 不详
投 递 者 袁文景
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。

Git的特点

  • 分支更快、更容易。

  • 支持离线工作;本地提交可以稍后提交到服务器上。

  • Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。

  • Git 中的每个工作树都包含一个具有完整项目历史的仓库。

  • 没有哪一个 Git 仓库会天生比其他仓库更重要。

Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(wingeddevil注:这得分是用什么样的服务端,使用http协议或者git协议等不太一样。并且在push和pull的时候和服务器端还是有交互的。),使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

实际上内核开发团队决定开始开发和使用 Git 来作为内核开发的版本控制系统的时候,世界开源社群的反对声音不少,最大的理由是 Git 太艰涩难懂,从 Git 的内部工作机制来说,的确是这样。但是随着开发的深入,Git 的正常使用都由一些友好的脚本命令来执行,使 Git 变得非常好用,即使是用来管理我们自己的开发项目,Git 都是一个友好,有力的工具。现在,越来越多的著名项目采用 Git 来管理项目开发。

Git 与 SVN 区别

  • GIT是分布式的,SVN不是
  • GIT把内容按元数据方式存储,而SVN是按文件
  • GIT分支和SVN的分支不同
  • GIT没有一个全局的版本号,而SVN有
  • GIT的内容完整性要优于SVN

Git的缺点

  • 学习资料少。
  • 学习周期相对而言比较长。
  • 不符合常规思维。
  • 代码保密性差。

配置Git环境

在Windows下,可以使用Git For Windows安装包进行安装。 在 Windows 平台上安装 Git 同样轻松,有个叫做msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行。

完成安装后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。在开始菜单里找到"Git"->"Git Bash",会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。

在 Mac 平台上安装 Git 最容易的是使用图形化的 Git 安装工具,点击下载安装界面如左图所示 。

完成安装后,在终端输入“git”,如果出现了使用帮助信息,说明安装成功。如果安装未成功,请尝试重新安装。

在Linux下安装Git,只需要在终端输入“apt install git”即可。

安装完Git后,需要进行配置,如姓名、Email等。关键命令如下:

git config --global user.name "你的名字"
git config --global user.email 你的邮箱名@主机名.域名

# 例如
git config --global user.name "San Zhang"
git config --global user.email san-zhang@outlook.com

设置Git默认使用的文本编辑器, 一般可能会是 Vi 或者 Vim。如果你有其他偏好,可以进行重新设置:

git config --global core.editor 文本编辑器名字

还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。

git config --global merge.tool 分析工具名字

要检查已有的配置信息,可以使用 git config --list 命令:。有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:

git config user.name

开源中国Git托管平台:码云

  • Git push 相关问题 Git push 用法 git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相似。 $ git push <远程主机名> <本地分支名>:<远程分支名> 使用语法 git push [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--r

  • 一、config文件分类 Git中有三层config文件:系统、全局、本地 查看不同级别的配置文件: #查看系统config git config --system --list    #查看当前用户(global)配置 git config --global --list #查看当前仓库配置信息 git config --local --list /etc/gitconfig:包含了适

  • Git 的常规操作 更多关注 计算机视觉-Paper&Code - 知乎 常规操作 Clone a Repo (在线创建仓库) git clone git@github.com:jianzhnie/deep_head_pose.git cd deep_head_pose touch README.md git add README.md git commit -m "add README" git

 相关资料
  • Webstorm 内置多种版本控制工具支持,下面以最常用的 git 为例,讲解下在 Webstorm 中的版本控制工具的使用。 当 Webstorm 初始化工程时会自动查找与关联项目的版本库。 git的使用 哪里查看当前所处的git分支? 留意界面右下角: 上图表明工程工作目录处于”kf1.3″分支下。 如何新建/查看/切换分支? 从图中可以看到本地分支/远程分支的情况,点击即可切换。 可以点击“

  • https://progit.org/ http://think-like-a-git.net/

  • 本文向大家介绍集中版本控制和分布式版本控制之间的区别,包括了集中版本控制和分布式版本控制之间的区别的使用技巧和注意事项,需要的朋友参考一下 集中版本控制 集中式版本控制是使用服务器/客户端模型的版本控制系统,服务器包含所有源代码的历史记录。 分布式版本控制 分布式版本控制是一个版本控制,其中每个客户端可以拥有与服务器相同的源代码副本,并且服务器和客户端都维护源代码的历史记录。 以下是集中版本控制和

  • Git 版本控制器 配置 git config --list #查看全局配置的信息 git config --global -l #查看全局配置 git config --system -l #查看系统配置 git config --local -l #查看本地仓库配置 git config --global user.name Nick #设置用户名 git config --gl

  • 我们已经开发了一个可以运行的 Rails 应用,接下来要花点时间来做一件事。虽然这件事不是必须的,但是经验丰富的软件开发者都认为这是最基本的事情,即把应用的源代码纳入版本控制。版本控制系统可以跟踪项目中代码的变化,便于和他人协作,如果出现问题(例如不小心删除了文件)还可以回滚到以前的版本。每个专业级软件开发者都应该学习使用版本控制系统。 版本控制系统种类很多,Rails 社区基本都使用 Git。G

  • IntelliJ IDEA 下的版本控制介绍 这一章节放在这么靠前位置来讲是因为版本控制在我心目中的地位比后面的实战知识点都来得重要。不管是个人开发或是团队开发,版本控制都是可以很好地被使用的,目前我找不到任何开发者不使用版本控制的理由。而且对于 IDE 来讲,集成版本控制的本身就是它最大的亮点之一,很多开发者也是为此而使用它。 在本章节中也会对 IntelliJ IDEA 的相关版本控制进行了介

  • 问题内容: 我已经为此工作了几天,已经找到了几种解决方案,但是都没有一个非常简单或轻巧的解决方案。问题基本上是这样的:我们有一个由10台计算机组成的群集,每台计算机都在多线程ESB平台上运行相同的软件。我可以很轻松地处理同一台计算机上线程之间的并发问题,但是不同机器上同一数据上的并发又如何呢? 本质上,该软件接收请求,以通过Web服务将客户数据从一家公司传送到另一家公司。但是,客户可能存在或可能不

  • 12.1 并行版本系统(CVS) 有关的详细信息可使用 lynx 查阅 /usr/share/doc/cvs/html-cvsclient、/usr/share/doc/cvs/html-info、/usr/share/doc/cvsbook 或执行 info cvs 及 man cvs。 12.1.1 安装 CVS 服务器 以下步骤配置的服务器,仅允许“src”用户组的成员访问 CVS 仓库,并