master主分支合并dev分支,代码 :git merge dev ,跳出如下界面。输入:wq,(:wq命令是LINUX命令,强制写入文件并结束),可以强制合并。但为什么会跳出该界面,我也没搞清楚。其他合并没有问题。如果有哪位大神知道,请告诉我,谢谢。

  好,接下来是总结。基本都是照着廖雪峰老师学习的。

  1.了解Git最重要的是了解两个图。(图来自廖雪峰)

图1

工作区:就是创建的目录。如图2,在D盘创建一个studygit的目录,我们编辑的文本都放在这个目录下,我们也可以看见它,这就是工作区。

图2

版本库:图2,运行命令git init,这时会在studygit工作区间创建一个版本库,有一个隐藏的目录.git。它有一个暂存区stage。它还自动给我们创建了一个分支master。以及指向master的指针head。

我们编写一个readme.txt文件,(要在notepad++里使用UTF-8 without BOM)。文件必须放在studygit目录下,也就是工作区间。如何把readme.txt放入版本库呢?两步,先用add把文本放进暂存区stage,然后再commit交给master分支。你可以先add很多文本,然后一次性commit给master。如图3.

      图3

这时候,readme.txt已经在master分支上面了,即在本地版本库里面了。

分支的概念。

git比较神奇的地方就是分支了。master是主分支,git init时就会自动创建,其他的分支必须在master基础上创建。

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

创建分支命令:git checkout -b dev    创建dev分支并切换到该分支上。

切换分支:git checkout dev   切换到dev分支上。

合并分支:git merge -u dev   把dev分支合并到目前所在分支。

删除分支:git branch -d dev   删除dev分支。

查看分支:git branch

2.以上讲的是在本地建立版本库,以及分支的概念。实际我们都是下载别人的版本库,在上面合作开发。以GitHub为例。

利用git clone命令,将github里面的版本库下载到自己的本地,成为本地库。我们就可以对里面的文本进行编辑。编辑修改之后依旧add到暂存区,再commit到master,放入版本库。再push给远程库。

但是我们clone时,默认是把远程库的master分支和本地库的master分支对应起来。其他分支并没有对应,需要手动对应。我们大多数是在dev分支上工作的。首先我们必须创建远程origin的dev分支到本地。

命令:git checkout -b dev origin/dev

在dev上进行编辑后,git push origin dev 即可。但这时可能别人也对dev进行了修改,且你们有冲突,你会推送失败。你需要git pull ,得到最新提交的,在本地合并。

git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置devorigin/dev的链接:

$ git branch --set-upstream dev origin/dev
这样再push就没错了。
以上就是git的基本操作。足够用了。具体请看http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013760174128707b935b0be6fc4fc6ace66c4f15618f8d000。

Git学习总结的更多相关文章

  1. Git 学习看这篇就够了!

    Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...

  2. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  3. git学习之branch分支

    作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...

  4. git学习手册

    #git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...

  5. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  6. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  7. git 学习笔记6--remote & log

    git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...

  8. Git学习(4)基本操作

    1.版本提交 首先,接着上个Git学习(3)继续 我们先修改test.txt文本内容,增加一些信息进去,然后保存: Add a new data 第一步:运行命令 git status 命令查看文件是 ...

  9. git学习(这个我没有整理,是我不断在学习的过程中,自己总结的,对象是我,不过有问题的,我们可以相互交流)

    每次git提交,都会有一个parent指针,指向上一次的commit ,   如果合并,master就和hotfix河道一起,就直接删除hotfix就OK     此时,虽然操作一样,大底层实现不一样 ...

  10. git学习笔记01-git最基本的工作原理分布式

    git学习的网站 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000  --廖雪峰老师 ...

随机推荐

  1. Winform开发:在ProgressBar显示百分比数字

    如果不使用Label而是直接在进度条上显示文字,可以扩展一个派生类自己画,代码如下: public partial class Form1 : Form { public Form1() { Init ...

  2. JavaScript的理解记录(5)

    ---接上篇: 三.DOM解析: 1.Document Object Model(DOM):是表示和操作HTML和XML文档内容的基础API;其中几个重要的类有:Document和Element,Te ...

  3. 使用Extjs组件实现Top-Left-Main布局并且增加事件响应

    每次在毕业答辩会上,看到同专业的同学只要是XXX管理系统,就是下图所示的界面,看来这中布局还是很受欢迎的(偷笑).接下来进入我们正题,在web项目无论是前端还是后台管理比较常见的布局就是Top-Lef ...

  4. time & datetime

    时间相关的操作,时间有三种表示方式: 时间戳               1970年1月1日之后的秒,即:time.time() 格式化的字符串    2014-11-11 11:11,    即:t ...

  5. iOS开发小技巧--微博项目中的键盘工具条

    微博项目中的键盘工具条 项目中的键盘工具条不能使用inputAccessoryView,因为inputAccessoryView不能实现键盘隐藏的时候,工具条还显示在眼前,如图: 所以,果断决定将工具 ...

  6. DialogFragment is gone after returning back from another activity

    基本情景如下: 在DialogFragment中单击一个按钮跳转到another Activity做一些逻辑处理,然后将返回的结果回显到该DialogFragment上. 处理逻辑是: 在Dialog ...

  7. List集合的迭代器方法

    1.后台JAVA代码的实现 //获取所有的支付方式的迭代器 // 获取支付方式 @RequestMapping(value = "get/payed/type", method = ...

  8. 创建一个点状注记(MarkerElement)

    1.根据XY创建一个点 /// <summary> /// 根据x y创建新点 /// </summary> /// <param name="dX" ...

  9. Win7 64位下PowerDesigner连接64位Oracle11g数据库

    操作系统:WIN7 64旗舰版 Oracle版本:64位11g PowerDesigner版本:15.1 问题描述:因为PowerDesigner是32的程序,连接数据库会默认开启32位的ODBC,因 ...

  10. Maven个人手册

    一.Maven基本使用与设置 1.安装maven插件 1).下载maven并解压到指定目录,到该目录下复制当前路径path 2).在eclipse的dropins目录下编辑maven.link,将ma ...