一个中文git手册:http://progit.org/book/zh/ 原文:http://blog.csdn.net/sunboy_2050/article/details/7529841 前面两篇博客 Git 版本管理工具 和 Git 常用命令详解,分别介绍了Git 基础知识和命令用法 本文将对Git 命令,做一下全面而系统的简短总结,整理成简洁.明了的图表结构,方便查询 一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git comm…
 版本控制SVN和Git使用详解     公司的实际开发中,在天朝使用较多的还是SVN,因为SVN是集中式的,在天朝上班你们都懂的!     -----------------svn-----------------           一:最常用基本步骤---   下载(完整下载,第一次),将服务器的项目下载到本地开始开发 svn checkout ip —uaerbane=? —password=?     //这里需要add 简:co   更新仓库,服务器项目有变动的时候需要更新到本地,以…
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面clone一个项目到本地时(假设项目名为GitTest),在本地就会看到一个名为GitTest的目录,目录下有项目代码和一个名为.git的目录,什么是工作区呢,就是除了.git文件夹以外的所有东西,我们主要在工作区上阅读,修改,添加删除代码和其他内容,而这个.git目录就称为一个版本库,这个版本库中存…
此为git命令详解的第七篇 这章我们可以来逐渐揭开 git push.fetch 和 pull 的神秘面纱了.我们会逐个介绍这几个命令,它们在理念上是非常相似的.   git push的参数 git fetch 的参数 git pull 参数 git push: 首先来看 git push.在远程跟踪课程中,你已经学到了 Git 是通过当前检出分支的属性来确定远程仓库以及要 push 的目的地的.这是未指定参数时的行为,我们可以为 push 指定参数,语法是: git push <remote>…
此篇为git命令详解的第四篇,话不多说,我们直接上知识点好吧 git Push 偏离的工作 gitPush: 此命令负责将你的变更上传到指定的远程仓库,并在远程仓库上合并你的新提交记录.一旦 git push 完成, 你的朋友们就可以从这个远程仓库下载你分享的成果了!你可以将 git push 想象成发布你成果的命令,注意:git push 不带任何参数时的行为与 Git 的一个名为 push.default 的配置有关.它的默认值取决于你正使用的 Git 的版本 执行命令:git push 好…
常用操作 操作 说明 Fetch 从远程获取最新版本到本地,不会自动merge Merge 可以把一个分支标签或某个commit的修改合并现在的分支上 Pull 从远程获取最新版本并merge到本地相当于fetch+merge Push 将本地分支的更新,推送到远程主机 Merge tool 当你的代码产生了冲突可以通过此工具快速的对比 Switch to 将当前分支切换到其它分支或标签 Commit 将更改提交到本地库中 Rebase 可以把在一个分支里提交的改变移到另一个分支里重放一遍 Re…
Git 命令详解及常用命令 Git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下: 关于git,首先需要了解几个名词,如下: 1 2 3 4 Workspace      //工作区 Index / Stage    //暂存区 Repository     //仓库区(或本地仓库) Remote       //远程仓 一.新建代码库 1 2 3 4 5 6 7 8 // 在当前目录新建一个Git代码库 $ git init   // 新建一个…
前言 前情提要:Git应用详解第一讲:Git分区,配置与日志 在第一讲中我们对Git进行了简单的入门介绍,相信聪明的你已经了解Git的基本使用了. 这一讲我们来进一步深入学习Git应用,着重介绍Git的一些常见操作,包括:删除文件.比较文件.撤销修改.修改注释与查看帮助文档. 一.删除文件 1.git rm <file> 该命令用于删除版本库中的文件:删除工作区和暂存区中的文件都会报错: 若用该指令删除工作区中的文件,会报找不到文件的错误: 若用该指令删除暂存区中的文件,报如下错误: 所谓版本…
前言 前情提要:Git应用详解第二讲:Git删除.修改.撤销操作 分支是git最核心的操作之一,了解分支的基本操作能够大大提高项目开发的效率.这一讲就来介绍一些分支的常见操作及其基本原理. 一.分支概述 在开发当中,往往需要分工合作.比如:小红开发A功能,小明开发B功能,小刚开发C功能.如何才能做到三者并行开发呢?git为我们提供的分支功能就能实现这一需求,如下图所示: 在实际的开发过程中,master分支是用来发布项目稳定版本的.新的功能往往是在一个新建的分支上进行开发,等到新功能开发完毕并经…
前言 前情提要:Git应用详解第三讲:本地分支的重要操作 git作为一款版本控制工具,其最核心的功能就是版本回退,没有之一.熟悉git版本回退的操作能够让你真真正正地放开手脚去开发,不用小心翼翼,怕一不小心删除了不该删除的文件.本节除了介绍版本回退的内容之外,还会介绍stash的使用. 一.版本回退 在git中永远有后悔药可吃,总是可以回到版本库的某一个时刻,这就叫做版本回退: 如上图所示:当前master分支指针指向D,通过版本回退可以使master指向C.B或A.进行版本回退的命令大体上有三…
前言 前情提要:Git应用详解第四讲:版本回退的三种方式与stash 这一节将会介绍本地仓库与远程仓库的一些简单互动以及几款常用的Git图形化界面,让你更加方便地使用git. 一.Git裸库 简单来说git裸库就是没有工作区的git仓库.比如服务器,只起到代码托管的作用而不需要也不应该修改服务器上的代码. 可通过以下指令创建git裸库: git init --bare 创建完成之后,查看当前文件目录: 可以看到并不存在工作区目录,表明git裸库仅仅是用来存放和中转开发者提交的代码. 二.本地仓库…
前言 前情提要:Git应用详解第五讲:远程仓库Github与Git图形化界面 git除了可以很好地管理个人项目外,最大的一个用处就是实现团队协作开发.况且,linus大神开发git的初衷就是为了维护Linux内核这一开源项目.所以,熟悉使用git进行多人协作开发的一般步骤和方法具有十分重要的意义.这一讲将会为你介绍使用git进行团队协作开发的一般方式以及git pull操作常见问题的解决方法. 一.git协作方式 1.常见开发模式 Gitflow:简单来说,就是多种开发模式的总称.例如:使用多少…
前言 前情提要:Git应用详解第六讲:Git协作与Git pull常见问题 这一节来介绍本地仓库与远程仓库的分支映射关系:git refspec.彻底弄清楚本地仓库到底是如何与远程仓库进行联系的. 一.Git refspec refspec是Reference Specification的缩写,字面意思就是具体的引用.它其实是一种格式,git通过这种格式来表示本地分支与远程分支的映射关系: 在本地仓库创建master分支外的其他两个分支develop和test: 在develop分支上执行git…
前言 前情提要:Git应用详解第七讲:Git refspec与远程分支的重要操作 这一节主要介绍Git标签.别名与Git的垃圾回收机制. 一.Git标签(tag) 1.标签的实质 标签与分支十分相似,都是指向某一次提交:并且,它们的值都为各自指向提交的SHA1值:但是,不同于会随着提交的变化而变化的分支,一旦给某次提交添加了标签,该标签就永远不会发生变化. 注意:标签标识的是某一次提交,这次提交可以是任何分支上的任何一次提交. 两类标签 Git标签有两种: 轻量级标签(lightweight):…
前言 前情提要:Git应用详解第八讲:Git标签.别名与Git gc 这一节主要介绍git cherry-pick与git rebase的原理及使用. 一.Git cherry-pick Git cherry-pick的作用为移植提交.比如在dev分支错误地进行了两次提交2nd和3rd,如果想要将这两次提交移植到master分支上.采用先删除再添加的方法将会很繁琐,而使用cherry-pick就能轻松实现这一需求. 首先在版本库中创建了两个分支master和dev,并模拟上述场景: 可以看到,在…
前言 前情提要:Git应用详解第九讲:Git cherry-pick与Git rebase 一个中大型项目往往会依赖几个模块,git提供了子库的概念.可以将这些子模块存放在不同的仓库中,通过submodule或subtree实现仓库的嵌套.本讲为Git应用详解的倒数第二讲,胜利离我们不远了! 一.submodule submodule:子模块的意思,表示将一个版本库作为子库引入到另一个版本库中: 1.引入子库 需要使用如下命令: git submodule add 子库地址 保存目录 比如: g…
有时候工作区中会有我们创建的一些密码配置文件,或者自动生成的一些临时文件,比如python代码编译产生的.pyc文件和java代码编译产生的.class文件等,我们在提交代码的时候没有必要把这些文件也提交.这时就可以用.gitignore文件来指定提交时需要忽略的文件/文件夹列表,那么下次提交时这些文件就不会被提交到本地和远程的代码库中. 已有的.gitignore文件大全 链接:https://github.com/github/gitignore 针对各种语言的,可以直接拿来用.在githu…
封面:洛小汐 作者:潘潘 若不是生活所迫,谁愿意背负一身才华. 前言 上节我们介绍了 < Mybatis系列全解(四):全网最全!Mybatis配置文件 XML 全貌详解 >,内容很详细( 也很枯燥),由于篇幅实在过于冗长,我预计大家想看完得花上两段上班地铁公交车的时间 ... 不过应该有让大家了解到 Mybatis 的核心配置文件 config.xml 全貌,其中的 元素即是我们本节准备登场介绍的 SQL 映射器,上节有介绍了三种引入 SQL 映射器的方式,本节我们就主要聊聊它的几个顶级元素…
Git 基础 本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置:开始或停止跟踪某些文件:暂存或提交某些更新.我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件:如何既快且容易地撤消犯下的小错误:如何浏览项目的更新历史,查看某两次更新之间的差异:以及如何从远程仓库拉数据下来或者推数据上去. 1. 在工作目录中初始化新仓库 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目…
Git git核心概念详解 什么是git git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布.最初目的是为更好地管理Linux内核开发而设计.应注意的是,这与GNU Interactive Tools(一个类似Norton Commander界面的文件管理器)有所不同.git最初的开发动力来自于BitKeeper和Monotone.git最初只是作为一个可以被其他前端(比如Cogito或Stgit)包装的后端而开发的,但后来git内核已经成熟到可以独立地用作版本控…
查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git checkout -b <name> 合并某分支到当前分支:git merge <name> 删除分支:git branch -d <name> 一.git的简介 git是linux用两个月的时间用C语言写的一个分布版本控制系统. 版本控制系统主要有三种:本地版本控制系统.集中化版本控制系统.分布…
1. Git概念 1.1. Git库中由三部分组成 Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制..git目录位于工作目录内. 1)工作目录:用户本地的目录: 2) Index(索引):将工作目录下所有文件(包含子目录)生成快照,存放到一个临时的存储区域,Git 称该区域为索引. 3)仓库:将索引通过commit命令提交至仓库中,每一次提交都意味着版本在进行一次更新. 1.2. 使用Git…
这是git详解的第二篇,最近这个加班有点虚,所以文章也写的比较懒了,一到加班不得已,保温杯里泡枸杞啊,不扯了,今天我们来看看git的第二篇 这篇内容主要是git的一些远程命令 远程仓库 git clone 远程分支 git fetch 关于远程我们要先理解一个概念,远程仓库 远程仓库 远程仓库并不复杂, 在如今的云计算盛行的世界很容易把远程仓库想象成一个富有魔力的东西, 但实际上它们只是你的仓库在另个一台计算机上的拷贝.你可以通过因特网与这台计算机通信 —— 也就是增加或是获取提交记录 话虽如此…
    应用场景: 1 当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利切换到hotfix分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中恢复刚刚保存的内容. 2 由于疏忽,本应该在dev分支开发的内容,却在master上进行了开发,需要重新切回到dev分支上进行开发,可以用git stash将内容保存至堆栈中,切回到dev分支后,再次恢复内容即可.…
Git commit git commit 主要是将暂存区里的改动给提交到本地的版本库.每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id, commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里.    1.1 git commit -m “message” 这种是比较常见的用法,-m 参数表示可以直接输入后面的“message”,如果不加 -m参数,那么是不能…
git的工作区   git 安装 sudo apt-get insall git 查看git 版本 git --version   git的配置 #配置用户名 git config --global user.name qin1991 #配置邮箱 git config --global user.email youEmail #配置高亮 git confgi --global color.ui true #列出来所有的配置 git config --list #也可以编辑配置文件 vi ~/.g…
本文暂时不会涉及到团队如何使用Git的内容,而是从个人的角度探讨如何用好Git. 约定 绿色的5位字符表示提交的ID,文中用<commit>表示,分别指向父节点.分支用橘色显示,分别指向特定的提交.当前分支由附在其上的标识. 这张图片里显示最后5次提交,是最新提交.分支指向此次提交,另一个分支指向祖父提交节点. git cat-file git cat-file -t <commit>,查看Git对象的类型,主要的git对象包括tree,commit,parent,和blob等.…
Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Git远程操作. git clone git remote git fetch git pull git push 本文针对初级用户,从最简单的讲起,但是需要读者对Git的基本用法有所了解.同时,本文覆盖了上面5个命令的几乎所有的常用用法,所以对于熟练用户也有参考价值. 一.git clone 远程操作…
git和Github 概念 git --- 版本控制工具(命令). 工具介绍官方网站:http://git-scm.com 工具下载地址:http://git-scm.com/download/ git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.git是个工具,在linux里面也就类似gcc这样的工具一样,是一个shell命令.git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件.Torvalds开始着手开发g…
查看已暂存和未暂存的更新 实际上 git status的显示比较简单,仅仅是 列出了(修改过的.新创建的.已经暂存但未提交的)文件,如果要查看具体修改了什么地方,可以用git diff 命令.稍后我们会详细介绍 git diff,不过现在,它已经能回答我们的两个问题了:当前做的哪些更新还没有暂存?有哪些更新已经暂存起来准备好了下次提交?git diff 会使用文件补丁的格式显示具体添加和删除的行. 假如再次修改 README 文件后暂存,然后编辑 benchmarks.rb 文件后先别暂存,运行…