Git学习总结

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分支的链接,根据提示,设置dev和origin/dev的链接:
$ git branch --set-upstream dev origin/dev
这样再push就没错了。
以上就是git的基本操作。足够用了。具体请看http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013760174128707b935b0be6fc4fc6ace66c4f15618f8d000。
Git学习总结的更多相关文章
- Git 学习看这篇就够了!
Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...
- Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- git学习之branch分支
作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...
- git学习手册
#git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
- Git学习笔记(四)
一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...
- git 学习笔记6--remote & log
git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...
- Git学习(4)基本操作
1.版本提交 首先,接着上个Git学习(3)继续 我们先修改test.txt文本内容,增加一些信息进去,然后保存: Add a new data 第一步:运行命令 git status 命令查看文件是 ...
- git学习(这个我没有整理,是我不断在学习的过程中,自己总结的,对象是我,不过有问题的,我们可以相互交流)
每次git提交,都会有一个parent指针,指向上一次的commit , 如果合并,master就和hotfix河道一起,就直接删除hotfix就OK 此时,虽然操作一样,大底层实现不一样 ...
- git学习笔记01-git最基本的工作原理分布式
git学习的网站 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 --廖雪峰老师 ...
随机推荐
- 教你一招:根据身份证号计算出生年月和年龄 text函数和mid函数混用 datedif函数和today函数混用
在电子表格Excel中,使用text函数和mid函数混用,根据身份证号计算出生年月: =text(mid(A2,,),"0!/00!/00") #0!/00!/00 为日期的格式# ...
- 【BZOJ-1426】收集邮票 概率与期望DP
1426: 收集邮票 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 261 Solved: 209[Submit][Status][Discuss] ...
- SQLServer2000数据库的安装
==================. 未完待续,持续更新中... -------------------------------------------------
- 在Application中集成Microsoft Translator服务之优化
在一篇文章中我们已经实现了功能,但是一个明显的问题是响应时间非常长,用户体验非常糟糕,这篇文章将带你找出问题所在并进行优化 为了找出追魁祸首,这里使用 System.Diagnostics.Stopw ...
- css面包屑导航编号
content:counter(flag);counter-increment: flag;-->一般给导航条编号1,2,3
- 说一说ASCLL和Unicode
关于字符编码这个展开来说有太多东西了,这里主要是想说一说最常说的ASCLL和Unicode字符编码的问题,这样至少你在用相关函数的时候,可以搞明白参数的真正含义. ASCLL编码 计算机就是0和1的世 ...
- [NHibernate]O/R Mapping基础
系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 [NHibernate]持久化类(Persistent Classes) 引言 对象和关系数据库 ...
- FMDB的使用
//1.创建数据库 NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomai ...
- codevs2777 栅栏的木料
题目描述 Description 农民John准备建一个栅栏来围住他的牧场.他已经确定了栅栏的形状,但是他在木料方面有些问题.当地的杂货储存商扔给John一些木板,而John必须从这些木板中找出尽可能 ...
- Access应用笔记<四>-一个完整的自动化报表搭建过程
距离之前的三篇日志已经很久啦,今天终于完成了一个比较完整的自动化报表搭建过程 基于公司数据保密原则,样板就不放到网上来了,简单说一下背景: 这次access实现的功能包括: 1)为部门整体搭建了一个员 ...