Git 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Git 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: GPLv2
操作系统: 跨平台
收录时间: 2008-09-08

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托管平台:码云

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

Git 的相关博客

Git--git log

参考 https://www.cnblogs.com/bellkosmos/p/5923439.html https://www.cnblogs.com/mkl34367803/p/9219913.html https://git...

git分支,git commit,git流程

1. git分支命令规范 1. Master 主分支 2. Dev 开发分支 3. Feature 功能分支(例如:feature-x) 4. Release 预发布分支(...

git reset 和 git revert, git log 和 git reflog 比较

前言:仙儿苦设相思局,寻欢误入冷香处 故事背景: 那一晚 月黑风高之夜 李寻欢 在自诩为江湖正义的一群伪君子设计好的圈套(...

git reset、git checkout 和 git revert

一、git reset 和 git checkout git reset [commit] 重置为[commit]所对应节点的提交(通过移动分支指针和HEAD指针实现),如...

git pull && git fetch && git stash && git rebase && git reset

git pull && git fetch 通过一张图了解下,git fetch和git pull的概念: fetch:将远程主机更新内容拉到本地,用户检查后决定...

Git叉子实际上是Git克隆吗? - Are Git forks actually Git clones?

问题: I keep hearing people say they're forking code in Git. 我一直听到有人说他们在Git中提供代码。 Git "fork" sound...

git使用笔记3:git pull&git merge git pull

1、用途:git fetch&git merge git pull这两条语句的作用是从远程仓库同步文件到本地; 2、区别: 首先假设我们本地仓库的 ma...

git clone、git pull和git fetch的区别

基本用法 git clone git clone 是将其他仓库克隆到本地,包括被 clone 仓库的版本变化,因此本地无需是一个仓库,且克隆将设置...

评论 (42)

加载中
_-
#Git# 这个配图让我感觉 git是 码云的
2019/06/09 18:31
回复
举报
#Git#https://git-scm.com/book/zh/v2
2017/12/07 16:32
回复
举报
#Git# git的命令有很多,但是很少有人能全部记住。一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。http://www.lucktribe.com/1242x1735t1207.html
2017/07/12 14:24
回复
举报
#Git#如何设置其他分支为 默认分支?忘记是哪个命令了,那个朋友可以告诉我一下。 默认是matser。我想将默认分支修改 project.
2017/06/21 10:03
回复
举报
打分: 力荐
很强大的版本控制工具!
2017/04/10 20:27
回复
举报
github.com/pidiscovery/piqing请大家帮忙上这个网址,是π资产发行的开源吗?
2017/03/27 12:32
回复
举报
@蒋鑫 已经在解答各位的关于Git的问题,问答都很精彩。赞!详见:http://www.oschina.net/question/3307_26504
2011/08/31 11:54
回复
举报
Eclipse 3.7 默认就支持 Git 了啊,刚重新下载了一个,发现里面有这个
2011/11/08 11:58
回复
举报
Eclipse 4.2 默认支持 Git ,无需单独安装插件
2012/06/27 23:03
回复
举报
更多评论
42 评论
531 收藏
分享
返回顶部
顶部