前言 前情提要:Git应用详解第四讲:版本回退的三种方式与stash 这一节将会介绍本地仓库与远程仓库的一些简单互动以及几款常用的Git图形化界面,让你更加方便地使用git. 一.Git裸库 简单来说git裸库就是没有工作区的git仓库.比如服务器,只起到代码托管的作用而不需要也不应该修改服务器上的代码. 可通过以下指令创建git裸库: git init --bare 创建完成之后,查看当前文件目录: 可以看到并不存在工作区目录,表明git裸库仅仅是用来存放和中转开发者提交的代码. 二.本地仓库…
要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指 托管在网络上 的项目仓库,可能会有好多个,其中有些你 只能读,另外有些可以写.同他人协作开发某个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展.管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分支,定义是否跟踪这些分支,等等.本节我们将详细讨论远程库的管理和使用. 查看当前的远程库 git remote 要查看当前配置有哪些远程仓库,可以用 git remote 命令,它会列…
前言 前情提要:Git应用详解第六讲:Git协作与Git pull常见问题 这一节来介绍本地仓库与远程仓库的分支映射关系:git refspec.彻底弄清楚本地仓库到底是如何与远程仓库进行联系的. 一.Git refspec refspec是Reference Specification的缩写,字面意思就是具体的引用.它其实是一种格式,git通过这种格式来表示本地分支与远程分支的映射关系: 在本地仓库创建master分支外的其他两个分支develop和test: 在develop分支上执行git…
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面clone一个项目到本地时(假设项目名为GitTest),在本地就会看到一个名为GitTest的目录,目录下有项目代码和一个名为.git的目录,什么是工作区呢,就是除了.git文件夹以外的所有东西,我们主要在工作区上阅读,修改,添加删除代码和其他内容,而这个.git目录就称为一个版本库,这个版本库中存…
 版本控制SVN和Git使用详解     公司的实际开发中,在天朝使用较多的还是SVN,因为SVN是集中式的,在天朝上班你们都懂的!     -----------------svn-----------------           一:最常用基本步骤---   下载(完整下载,第一次),将服务器的项目下载到本地开始开发 svn checkout ip —uaerbane=? —password=?     //这里需要add 简:co   更新仓库,服务器项目有变动的时候需要更新到本地,以…
一个中文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…
此为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 好…
这是git详解的第二篇,最近这个加班有点虚,所以文章也写的比较懒了,一到加班不得已,保温杯里泡枸杞啊,不扯了,今天我们来看看git的第二篇 这篇内容主要是git的一些远程命令 远程仓库 git clone 远程分支 git fetch 关于远程我们要先理解一个概念,远程仓库 远程仓库 远程仓库并不复杂, 在如今的云计算盛行的世界很容易把远程仓库想象成一个富有魔力的东西, 但实际上它们只是你的仓库在另个一台计算机上的拷贝.你可以通过因特网与这台计算机通信 —— 也就是增加或是获取提交记录 话虽如此…
Git git核心概念详解 什么是git git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布.最初目的是为更好地管理Linux内核开发而设计.应注意的是,这与GNU Interactive Tools(一个类似Norton Commander界面的文件管理器)有所不同.git最初的开发动力来自于BitKeeper和Monotone.git最初只是作为一个可以被其他前端(比如Cogito或Stgit)包装的后端而开发的,但后来git内核已经成熟到可以独立地用作版本控…
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最核心的操作之一,了解分支的基本操作能够大大提高项目开发的效率.这一讲就来介绍一些分支的常见操作及其基本原理. 一.分支概述 在开发当中,往往需要分工合作.比如:小红开发A功能,小明开发B功能,小刚开发C功能.如何才能做到三者并行开发呢?git为我们提供的分支功能就能实现这一需求,如下图所示: 在实际的开发过程中,master分支是用来发布项目稳定版本的.新的功能往往是在一个新建的分支上进行开发,等到新功能开发完毕并经…
前言 前情提要:Git应用详解第五讲:远程仓库Github与Git图形化界面 git除了可以很好地管理个人项目外,最大的一个用处就是实现团队协作开发.况且,linus大神开发git的初衷就是为了维护Linux内核这一开源项目.所以,熟悉使用git进行多人协作开发的一般步骤和方法具有十分重要的意义.这一讲将会为你介绍使用git进行团队协作开发的一般方式以及git pull操作常见问题的解决方法. 一.git协作方式 1.常见开发模式 Gitflow:简单来说,就是多种开发模式的总称.例如:使用多少…
前言 前情提要: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…
提交代码:如何把修改后的代码提交到远程仓库 文章目录 提交代码:如何把修改后的代码提交到远程仓库 1.同步远程代码 2.检查改动文件 3.添加文件到缓存 4.提交代码 5.推送代码 6.我的整个流程 6.小结 7.参考资料 学习如何将代码提交到版本库记录中,并将提交记录推送到远程仓库中. 1.同步远程代码 在提交代码之前需要先拉取服务器端代码,让本地仓库保持最新的版本记录. 目的是为了防止当我们提交代码之后,出现推送到远端出现代码冲突问题. 拉取远程代码命令 git pull pull 拉.拖…
常用操作 操作 说明 Fetch 从远程获取最新版本到本地,不会自动merge Merge 可以把一个分支标签或某个commit的修改合并现在的分支上 Pull 从远程获取最新版本并merge到本地相当于fetch+merge Push 将本地分支的更新,推送到远程主机 Merge tool 当你的代码产生了冲突可以通过此工具快速的对比 Switch to 将当前分支切换到其它分支或标签 Commit 将更改提交到本地库中 Rebase 可以把在一个分支里提交的改变移到另一个分支里重放一遍 Re…
前言 前情提要:Git应用详解第一讲:Git分区,配置与日志 在第一讲中我们对Git进行了简单的入门介绍,相信聪明的你已经了解Git的基本使用了. 这一讲我们来进一步深入学习Git应用,着重介绍Git的一些常见操作,包括:删除文件.比较文件.撤销修改.修改注释与查看帮助文档. 一.删除文件 1.git rm <file> 该命令用于删除版本库中的文件:删除工作区和暂存区中的文件都会报错: 若用该指令删除工作区中的文件,会报找不到文件的错误: 若用该指令删除暂存区中的文件,报如下错误: 所谓版本…
1. 码云注册与新建项目 注册并新建项目 2. Git安装并配置 安装 配置 3. clone项目 附:一些Git命令 git clone 拷贝并跟踪远程的master分支 git add 跟踪新文件或者已有文件的改动 git config --list 显示当前的Git配置 git init 在当前目录新建一个Git代码库 git config -e [--global] 编辑Git配置文件 git add [file1] [file2] ... 添加指定文件到暂存区 git add [dir…
看完不用,就是一个字:忘! 之前学了两天git结果今天要用的时候,啥也想不起来.... 场景: 已有远程仓库: git@192.168.1.1:test/test.git 要提交代码到远程仓库的新分支 1.本地文件夹初始化   在代码所在文件夹执行 git init 2.添加远程仓库 2.1 将本地主机中~/.ssh/id_rsa.pub 中的内容拷贝到远程仓库的profile->SSH Keys中    即添加认证 2.2 添加远程仓库 git remote add origin git@19…
Git 学习(五)远程仓库 之前的章节所说的是本地Git仓库的操作,版本管理的优越性显然不会仅仅在本地.远程仓库也就是服务器或是网络端的仓库操作也是必须的. 本文具体说明 Git 的远程仓库操作,示例是在 GitHub 上进行的,若存在服务器或其他站点,操作也是类似的.GitHub 网址:https://github.com/ 远程库 Clone 通常团队的git库都是已建立的,你需要将远程git库的文件 clone 至你本地,git可快速完成这一操作. 首先,你得知道远程 git库的服务器地址…
git和Github 概念 git --- 版本控制工具(命令). 工具介绍官方网站:http://git-scm.com 工具下载地址:http://git-scm.com/download/ git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.git是个工具,在linux里面也就类似gcc这样的工具一样,是一个shell命令.git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件.Torvalds开始着手开发g…
Android基础新手教程--1.5.2 Git之使用GitHub搭建远程仓库 标签(空格分隔): Android基础新手教程 本节引言: 在上一节中.我们学习了怎样使用Git.构建我们的本地仓库.轻松的实现了版本号控制以及代码还原,改动日志查看等:读者肯定不满足与本地是吧,假如是多个人一起来开发一个程序呢?我们须要一个作为server的远程仓库.当然搭建一个server是须要成本的,为什么不把项目托管到Github上呢?作为开源码库以及版本号控制系统,Github拥有140多万开发人员用户.…
Git提交到多个远程仓库(多看两个文档) 一.总结 一句话总结: 二. Git提交到多个远程仓库(多看两个文档) 有两种做法,先看第一种 一.通过命令行进行操作 例如我有下面两个仓库: Mybatis通用Mapper https://git.oschina.net/free/Mapper.git https://github.com/abel533/Mapper.git 在项目路径下打开Git Bash 添加一个remote,这里是all,也可以是别的名字 输入:git remote add a…
前言 前情提要:Git应用详解第三讲:本地分支的重要操作 git作为一款版本控制工具,其最核心的功能就是版本回退,没有之一.熟悉git版本回退的操作能够让你真真正正地放开手脚去开发,不用小心翼翼,怕一不小心删除了不该删除的文件.本节除了介绍版本回退的内容之外,还会介绍stash的使用. 一.版本回退 在git中永远有后悔药可吃,总是可以回到版本库的某一个时刻,这就叫做版本回退: 如上图所示:当前master分支指针指向D,通过版本回退可以使master指向C.B或A.进行版本回退的命令大体上有三…
远程分支 远程分支(remote branch)是对远程仓库中的分支的索引.它们是一些无法移动的本地分支:只有在Git 进行网络交互时才会更新.远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支的位置. 我们用 远程仓库名)/(分支名 这样的形式表示 远程分支.比如我们想看看上次同origin 仓库通讯时master 的样子,就应该查看origin/master 分支.如果你和同伴一起修复某个问题,但他们先推送了一个iss53 分支到远程仓库,虽然你可能也有一个本地的iss53 分支,但指…
fatal: 远程 origin 已经存在. 解决方法1:删除origin主机名 git remote rm origin #删除 git remote add origin https://github.com/xxxx #添加 解决方法2:保留origin远程主机,再关联另外一个主机 git remote add https://github.com/xxxx.git #关联另一个远程主机 本质: git push的一般形式为 git push <远程主机名> <本地分支名>…
查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git checkout -b <name> 合并某分支到当前分支:git merge <name> 删除分支:git branch -d <name> 一.git的简介 git是linux用两个月的时间用C语言写的一个分布版本控制系统. 版本控制系统主要有三种:本地版本控制系统.集中化版本控制系统.分布…
Git commit git commit 主要是将暂存区里的改动给提交到本地的版本库.每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id, commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里.    1.1 git commit -m “message” 这种是比较常见的用法,-m 参数表示可以直接输入后面的“message”,如果不加 -m参数,那么是不能…