git学习笔记之二 -- git分支】的更多相关文章

前面对git基础作了简单的总结,这次对git的杀手锏--分支做一总结. Git分支简介 几乎每个版本控制系统都以某种形式支持分支,可以使你的工作从开发主线上分离开来,以免影响开发主线.很多版本控制系统常常要创建一个源代码目录的副本,略微低效.而Git保存的不是文件的差异和变化,而是一些列不同时刻的文件快照.当进行commit操作的时候,Git会保存一个提交对象(commit object),该提交对象包含作者的姓名和邮箱,提交时输入的信息,指向父对象的指针和一个指向暂存内容快照的指针,首次提交产…
一.分支管理 1.什么是分支 分支就相当于我们看科幻片里的平行宇宙,如果两个平行宇宙互不干扰,那铁定是啥事儿没有.不过,在某个时间点,两个平行宇宙合并了呢?假如两个宇宙中都有你的影子, 合并之后相当于你们两个合二为一,所有的技能都合并在一个人的身上! 分支在实际中有什么用呢? 假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险.现在有了分支,就不用…
远程库的使用 前面说到的都是git在本地的操作,那么实际协作开发过程中我们肯定是要有一个远程版本库作为项目的核心版本库,也就是投入生产使用的版本.这里我们以 Github为例.Github是一个开放的git远程服务器,首先我们先注册一个github账户,如何注册就不在这里.说了绑定本地版本库与Github远程库有两种方式,一种是以ssh协议连接,在这方式下我们需要先绑定一个ssh key,这个在下面会说.还有一种是https协议,但是使用https速度慢会比慢,而且每次推送(push)都必须输入…
笔者在本地终端进行 git 工作目录的相关处理时,遇到由于某种情况需要使用 git checkout 命令切换到其他分支的情景.此时,若已经对当前分支做了一定的修改,则直接切换分支时 git 会提示错误信息.本文即总结下笔者目前了解和使用的 git 切换到其他分支冲突时的解决方案. 问题 当本地遇到特殊情况,需要切换到其他分支时,当前分支可能会存在以下两种可能: (1) 对当前分支并未进行任何修改,从而可以直接使用 git checkout 命令切换到其他分支. git checkout tes…
一.创建远程仓库(GitHub) 1.GitHub网站地址:https://github.com/,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库. 2.由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要如下设置: 第1步:创建SSH Key.在用户主目录下(例如:C:\Users\Administrator\),看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如…
一.创建.合并分支 每次提交,git都往后走一格,串成一跳时间线,head指向的是分支,分支指向提交.master是主分支,dev是另一条分支,分支就像指针一样,合并.删除分支时,修改的都是指针,工作区根本没变,所以速度非常快,用起来安全方便. Git鼓励大量使用分支: 查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git checkout -b <name> 合并某分支到…
GIT杀手锏之一——远程仓库 拥有远程仓库的两个办法 1:搭一个Git服务器  2:在GitHub上免费托管的Git仓库 本地仓库   远程仓库 一.在GitHub上免费托管的Git仓库 电脑: 1.查看用户主目录下是否有.ssh文件夹,里面是否有有id_rsa.id_rsa.pub俩文件,若无,打开shell,创建ssh key: ssh-keygen -t rsa -C "youremail@example.com" 把邮件地址换成你自己的邮件地址,然后一路回车 2.查看用户主目录…
一.创建与合并分支 git branch //查看分支 git branch <name> //创建分支 git checkout <name> //切换分支 git checkout -b <name> //创建切换分支 git merge <name> //合并某分支到当前分支 git branck -d <name> //删除分支 二.解决冲突 就是解决两个分支之间的不同之处,才能够合并分支.自动合并分支,是创建一个新的结点,将指针指向那个…
一.创建版本库 创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: mkdir gitHub_CXWcd gitHub_CXW git init Initialized empty Git repository in /Users/michael/learngit/.git/ 瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),文件夹内部出现了一个.git文件,可以使用  ls  -ah  进行查看 二.文件添加到版本库 git add…
本文主要记录了分支的原理.分支的创建,删除,合并.以及分支的使用策略. 分支在实际中的作用 假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险.现在有了分支,就不用怕了.你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人…
1.查看远程分支,和上面的第一步相同2. 从远程获取最新版本到本地 git fetch origin master:temp git fetch origin master:temp 这句命令的意思是:从远程的origin仓库的master分支下载到本地并新建一个分支temp 现在,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支: $ git checkout -b dev origin/dev  …
By francis_hao    Nov 18,2016 查看分支,* 表示当前所在分支 $ git branch 查看分支和最后一次提交记录 $ git branch -v 新建分支 $ git branch alphabet 切换分支 $ git checkout alphabet 新建和切换可以合并为一步操作 $ git checkout -b digital 删除一个分支,注意:不能删除当前所在分支 $ git branch -d for_delete 查看所有分支的提交记录 $ gi…
本文转载自:http://blog.csdn.net/liuchunming033/article/details/45367629 git pull的作用是,从远程库中获取某个分支的更新,再与本地指定的分支进行自动merge.完整格式是: $ git pull <远程库名> <远程分支名>:<本地分支名> 比如,取回远程库中的develop分支,与本地的develop分支进行merge,要写成: git pull origin develop:develop 如果是要…
看完了 Git 的介绍后,也是时候动手尝试一下了,不过我们需要先安装好它.它有许多种安装方式,主要分两种,一种是通过编译源代码来安装:另一种是使用为特定平台预编译好的安装包,这里就不做赘述了. 配置 一般运行前,我们都需要配置下自己的 Git 工作环境.配置工作只需一次,以后升级时还会沿用现在的配置.当然,如果需要,你随时可以用相同的命令修改已有的配置.Git 提供了一个叫做 git config 命令专门用来配置或读取相应的工作环境变量. 用户信息配置,分别用来配置用户名和邮箱: $ git…
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支. 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点: 每次提交,master分支都会向前移动一步,这样,随着你不断提交,m…
资源:外国网友制作的 Git Cheat Sheet 第二次学习廖雪峰老师的Git教程,学习过程中把教程中涉及到的Git命令及总结性知识记录下来方便二次复习. 知识点 所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文本文件.网页.程序代码等等,版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“hello”,在第8行删了一个单词‘’‘world’.而图片.视频这些二进制文件,虽然也能由版本控制系统管理,但是没办法跟踪文件的变化,只能把二进制文件每次的改变串起来,也就是只知道图…
学习地址 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”. 1. 初始化Git仓库 创建空目录 $ mkdir learngit $ cd learng…
1.查看git状态 git status  这个可以告诉我们对git做了哪些操,比如增删改 2.既然我们修改了东西,有的时候想看看修改了什么,毕竟我们的记忆力并不如电脑 git diff 文件名 (默认和暂存区比较.啥事暂存区后面说) 3.修改了之后我提交了,我想看看提交的日志git log -- pretty = oneline  (后面这是格式化用的,可以不写) 4.突然想起来我提交的这个有错误怎么办,我想恢复到之前的版本 git reset --hard HEAD^ ( HEAD^ 是之前…
OK,先附上教程--廖雪峰的官方网站 友情连接:git官网 简介 这里我只想引用他的原文: Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的.实际情况是这样的: Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下. Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至G…
1.创建版本库 (1)设置Git的配置变量.这些设置会在全局文件(.gitconfig)或系统文件(/etc/gitconfig)中做永久记录 $ git config --global user.name "Kimisme" $ git config --global user.email Kimisme@Git.com (2)在本用户的全局配置中,设置Git别名 $ git config --global alias.st status $ git config --global…
阿里国内镜像地址: https://npm.taobao.org/mirrors/git-for-windows/ 最近在学习廖雪峰老师关于git的教程,链接可以在我的首页找到.首先使用国内镜像下载并安装了git 工具.在观看创建版本库教程时发现基本都是基于Mac或者Linux系统的教程.但是目前使用的PC是微软阵营的,就整理一下 画瓢过程中 使用到的命令. Linux Windows 作用 mkdir mkdir/md 创建目录 cd cd 打开目录 pwd dir 列出当前目录下的文件以及文…
学习的资料来自廖雪峰官方网站的Git教程,菜鸟教程的Git教程 Git是一个分布式版本控制工具,在windows上使用Git可以直接从官网下载,然后默认选项安装即可. 安装完成后,在开始菜单中找到找到Git —>Git Bash.打开后弹出一个类似命令行的窗口,证明Git安装成功 ​ Git配置 Git提供一个叫做git config 工具,专门用来配置或读取相应的工作环境变量,这些环境变量,决定了Git在各个环节的具体工作方式和行为.这些变量可以存放在三个不同的地方. /etc/gitconf…
Git学习笔记(二) 突然发现,学习新知识新技能,都得经常温故使用,这样才能日益精进.最近学习的Git是因为加入了课题组,在学习做一些后台,由于后台开发会牵扯到多人开发,所以学会Git这一代码管理工具会很有用.但是一周下来,目前我还没用到Git,结果,Git代码几乎忘干净了... 接着整理,还是老规矩,博客其实是我的学习笔记,将学习的知识整理一下,以便以后查阅.在此,学习Git主要还是通过廖老师的教程,参见https://www.liaoxuefeng.com/wiki/896043488029…
一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了.所有配置文件可以直接在线浏览:https://github.com/github/gitignore .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理! 二.配置别名 $ git config --global al…
GIT学习笔记(4):远程分支 远程分支 远程分支是什么 远程分支是对远程仓库中的分支的索引.它们是一些无法移动的本地分支:只有在GIT进行网络交互时才会更新.远程分支就是书签,提醒着你上次连接远程仓库是上面各分支的位置. 我们用 (远程仓库名)/(分支名) 这样的形式表示远程分支.我们来举一个例子,假如你从GITHUB上克隆了一个项目到本地,GIT会自动为你将次远程仓库命名为origin,并且下载其中的所有数据,建立一个指向它的master分支的指针,在本地命名为origin/master,但…
GIT学习笔记(3):分支管理 何谓分支 GIT是如何存储数据的 GIT不是存储文件差异或者变化量,而是一系列文件的快照.在Git提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容快照的指针,它大概是这样子的. 三个表示文件快照内容的 blob 对象:一个记录着目录树内容及其中各个文件对应 blob 对象索引的 tree 对象:以及一个包含指向 tree 对象(根目录)的索引和其他提交信息元数据的 commit 对象. 多个提交对象之间是链接关系,每个提交对象会指向上一个提交…
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:http://rogerdudler.github.io/git-guide/index.zh.html Github官方使用说明:https://help.github.com/articles/set-up-git 默认安装 配置 1)首先你要告诉git你的名字 git config --glob…
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:http://rogerdudler.github.io/git-guide/index.zh.html Github官方使用说明:https://help.github.com/articles/set-up-git 默认安装 配置 1)首先你要告诉git你的名字 git config --glob…
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己的某台多余的机器设置成不关机状态. 但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用. 搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就…
git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git remote add origin git@server-name:path/repo-name.git git push -u origin master git push origin master 常用命令 git remote -v #显示remote的信息,见View1 git remote ad…