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的链接:

  1. $ 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. 51Nod--1015 水仙花数

    51Nod:  http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1015   1015 水仙花数 基准时间限制:1 秒 空间 ...

  2. springMVC文件上传

    参考的地址:http://www.tuicool.com/articles/nMVjaiF 1.需要使用的jar. commons-fileupload.jar与commons-io-1.4.jar二 ...

  3. please wait while windows configures microsoft visual studio professional 2013 [转载]

    2016年5月30日 VS3013安装update 2以后,打开offie出现"please wait while windows configures microsoft visual s ...

  4. 如何修复Ubuntu 14.04 系统设置丢失的问题

    其实遇到这个问题的一个最主要的原因是之前执行过卸载ibus输入法的操作,所以为了避免这个问题请不要卸载ibus输入法,大家依然可以安装fcitx输入法使用. 如果已经出现了这个问题,那该怎么解决呢?很 ...

  5. Debian 8中dpkg -i自动解决依赖关系

    dpkg -i 后#apt-get update &&apt-get -f install

  6. IO

    文件过滤 http://codego.net/9245/ C# 文件处理 http://wenku.baidu.com/link?url=yXKiIA_OZYR4MIynDgz-qhOnfJoCyOQ ...

  7. List拆分成多个集合

    如果对一组大的集合进行操作,想分组进行,比如批量新增10000条数据,想100条分成一个集合分成100个集合,对集合进行操作100次,用C#如何编写,这里记录下代码如下 //构造被分隔的集合 List ...

  8. 前端工具之Gulp

    Gulp是一款前端自动化的工具,如果能熟练使用Gulp来进行开发一定可以节省很多的时间,也可以快速的提高工作效率. 在使用Gulp之前就是要配置好Gulp安装的环境,这是我们能使用Gulp快速开发的第 ...

  9. MySQL数据库命名及设计规范

    1.设计原则 1) 标准化和规范化 数据的标准化有助于消除数据库中的数据冗余.标准化有好几种形式,但 Third Normal Form(3NF)通常被认为在性能.扩展性和数据完整性方面达到了最好平衡 ...

  10. Shell入门教程:命令替换 $() 和 ``

    所谓命令替换,是把命令执行后的标准输出放入变量中.这是一个十分有威力的功能.例如说, 想查看工作目录中所有的文件名,可执行ls命令,但如何把这些文件名存入变量中,供往后的程序代码再利用呢? 使用命令替 ...