GIT介绍

转载 2015年11月18日 21:31:19

Git是一个强大的分布式的源代码管理工具。支持分支功能。如果你想开发一个新的产品功能,你可以建立一个分支,对这个分支的进行修改,而不至于会影响到主支上的代码。

提供命令行工具、图形工具。

1. 傻瓜都会的初始化,git init, git commit -a, 就完了。对于随便写两行代码就要放到代码管理工具里的人来说,再合适不过。也可以拿git做备份系统,或者同步两台机器的文档,都很方便。 
2. 绝大部分操作在本地完成,不用和集中的代码管理服务器交互,终于可以随时随地大胆地check in代码了。 只有最终完成的版本才需要向一个中心的集中的代码管理服务器提交。
3. 每次提交都会对所有代码创建一个唯一的commit id。不像CVS那样都是对单个文件分别进行版本的更改。所以你可以一次性将某次提交前的所有代码check出来,而不用考虑到底提交过那些文件。(其实SVN也可以做到这点)
4. branch管理容易多了,无论是建立新的branch,还是在branch之间切换都一条命令完成,不需要建立多余的目录。 
5. branch之间merge时,不仅代码会merge在一起,check in历史也会保留,这点非常重要。

分支更快、更容易。
支持离线工作;本地提交可以稍后提交到服务器上。Git 中的每个工作树都包含一个具有完整项目历史的仓库。

检出仓库:$ git clone git://github.com/jquery/jquery.git

查看远程仓库:$ git remote –v

添加远程仓库:$ git remote add [name] [url]

删除远程仓库:$ git remote rm [name]

拉取远程仓库:$ git pull [remoteName] [localBranchName]

推送远程仓库:$ git push [remoteName] [localBranchName]

分支(branch)操作相关命令查看本地分支:$ git branch

查看远程分支:$ git branch –r

创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支

切换分支:$ git checkout [name]

创建新分支并立即切换到新分支:$ git checkout -b [name]

删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项

合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并创建远程分支

(本地分支push到远程):$ git push origin [name]

删除远程分支:$ git push origin :heads/[name]

版本(tag)操作相关命令查看版本:$ git tag

创建版本:$ git tag [name]

删除版本:$ git tag -d [name]

查看远程版本:$ git tag –r

创建远程版本(本地版本push到远程):$ git push origin [name]

删除远程版本:$ git push origin :refs/tags/[name]

子模块(submodule)相关操作命令添加子模块:$ git submodule add [url] [path]

初始化子模块:$ git submodule init  ----只在首次检出仓库时运行一次就行

更新子模块:$ git submodule update ----每次更新或切换分支后都需要运行一下

删除子模块:$ git rm --cached [path]

忽略一些文件、文件夹不提交在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如targetbin*.db



在Git服务管理工具这个领域,主要有三种流行的方案,它们分别是 

  • Gitosis - 轻量级, 开源项目,使用SSH公钥认证,只能做到库级的权限控制。目前项目已经停止开发,不再维护。
  • Gitolite - 轻量级,开源项目,使用SSH公钥认证,能做到分支级的权限控制。
  • Git + Repo + Gerrit - 超级重量级,集版本控制,库管理和代码审核为一身。可管理大型及超大型项目。
大名鼎鼎的Android平台就是使用的 Git + Repo + Gerrit。对于个人,中小型企业及一些开源项目而言,如果没有特殊的要求,其实没有
必要去架设上面第三种方案Git服务器。Gitolite提供的服务已经足够用。

git使用详细介绍

1. Git概念 1.1. Git库中由三部分组成 Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文...
  • tree_java
  • tree_java
  • 2017年04月26日 11:21
  • 208

版本管理工具介绍—Git篇

一.版本管理工具作用主要讲解了git在各平台的安装和基本使用,Git能够帮助我们解决文件的提交、检出、回溯历史、冲突解决、多人协作模式等问题,并且大大提升我们的工作效率。版本管理工具是干什么的? 1...
  • wtdask
  • wtdask
  • 2017年12月07日 17:51
  • 51

git详解(一)git的介绍与基本设置

git详解(一)git的介绍与基本使用摘要: 从本文开始会介绍git的相关内容,同时也是我学习git的历程,可以一边和大家分享,一边自己也加深印象。作为第一篇,先介绍下git的用处与基本设置。通过本文...
  • leehaoran
  • leehaoran
  • 2016年11月06日 21:46
  • 1236

【git分支】—各分支介绍

前言:       最近在学习git的分支,相比于svn的分支来说,git 的分支体系更完善,更灵活,更强大! Git分支:...
  • zt15732625878
  • zt15732625878
  • 2017年03月31日 21:37
  • 464

Git使用详细教程

一:Git是什么?  Git是目前世界上最先进的分布式版本控制系统。  二:SVN与Git的最主要的区别?  SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑...
  • qq_29796317
  • qq_29796317
  • 2017年04月25日 22:07
  • 367

git介绍及使用

流行框架第一天:构建前端自动化工作流环境 1.Node环境 1.1什么是Node2.bower web应用程序依赖项管理工具 npm install -g bower //-g:globa...
  • stopcpp
  • stopcpp
  • 2017年02月16日 17:09
  • 378

国内知名互联网企业开源项目简介及Git位置

阅读目录 阿里腾讯百度网易新浪搜狐豆瓣大众点评 阿里 阿里的开源项目很多,这也跟@淘宝正明的开源态度密不可分。有很多重量级的项目,例如LVS、Tengine,或者很有实践价值的中间件,例如...
  • mfcing
  • mfcing
  • 2016年03月19日 22:35
  • 1588

Git专题--sourceTree介绍与使用

环境:  Mac OS X Yosemite 软件: SourceTree 1.下载安装SourceTree 2.sourceTree设置中添加用户 3.新仓库—从...
  • JackJia2015
  • JackJia2015
  • 2016年04月13日 09:50
  • 4585

Git与GitFlow工具介绍

git 与 git flow 介绍
  • u010658879
  • u010658879
  • 2016年03月26日 15:01
  • 1972

Git入门学习和使用

开篇废话 开篇废话又回来了,离开博客算是有一年了,之间曾经痛下很多次决心,继续写博客,后来都失败了,前年为了申请个CSDN专家,每天发博客,那个高产的状态,现在已然不行了,时过境迁,当时为了吃口饱饭...
  • TonyShengTan
  • TonyShengTan
  • 2016年07月23日 17:14
  • 3151
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GIT介绍
举报原因:
原因补充:

(最多只允许输入30个字)