git个人学习总结:

git是一个管理代码的版本控制系统,用git init创建一个git可以管理的仓库,这个仓库里有一个工作区,我们最基本的那些命令操作都是在工作区完成,在创建仓库的时候,在工作区里git又自动创建了一个.git文件,这个文件不属于工作区,是git的一个版本库,在版本库里有一个暂存区和一个git自动创建的分支,当我们通过git add向仓库添加文件时,实际上就是添加到了暂存区上面,当我们用git commit来提交全部文件时,实际上是从暂存区把文件上传到了分支上面。

为什么git比其他版本控制系统更优秀,是因为git是根据修改去追踪和管理代码的,而非文件,如果我们修改了文件,而没有add 直接commit的话 修改的文件是上传不到git的

每次我们提交新的文件到master的时候,master就会向前进一步,串成一条时间线,随着你提交的次数越多,这条线也越来越长,head指向当前的master,表示当前分支在master上。

当我们新建一个分支的时候,比如dev,git会自动创建一个名为dev的指针出来,指向master,再把head指针指向分支dev,表示当前分支就在dev上,从现在起,对于工作区的修改和提交都是针对dev的了。

如果我们在dev的工作完成了,我们可以把dev合并到master上面,

就是把master指向dev。

因为创建,合并和删除分支非常快,所以鼓励你使用分支去完成某个任务,这样比直接在master 分支上工作更安全,并且一样效率;

当git不能自动合并时,需要手动解决冲突,在合并。

fast-forward信息,是git告诉我们,合并模式是快速合并,--no--ff表示禁用fast-forward模式。在合并时,加上--no--ff就可以查看的到曾经的合并

。。。。。。。。。。。。。。。。。。

当出现bug的时候,先把工作储藏起来,用git stash。然后在出现bug的分支上创建一个临时分支。然后切换到临时分支,处理完bug后,通过add commit 把正确的内容提交到分支上,然后合并分支。删除临时分支。当我们返回查看工作区时(git stutus),发现工作区是干净的,这时候我们需要使用git stash list命令查看,你会发现,我们之前的工作还在,只需要命令git stash apply恢复之前的工作就行,但是我们醋藏起来的stash内容依然存在,使用git stash drop来删除,或者直接git stash pop 恢复的同时把stash也一起删除。

当项目需要添加新功能时,最好新建一个分支。

多人协作的工作模式:

1,试用git push origin branch-name推送自己的修改

2,失败的话,是因为远程分支比你的本地更新,需要先git pull 把服务器的分支抓取到本地,进行合并,

3,本地提交

4,git push origin branch-name 推送成功

创建标签:

忘记打标签,直接找到提交历史,获取到commitid 然后git tag 标签 commitid

git笔记------自己学习git的心得的更多相关文章

  1. (数据科学学习手札141)利用Learn Git Branching轻松学习git常用操作

    1 简介 大家好我是费老师,Git作为世界上最流行的版本控制系统,可以说是每一位与程序打交道的朋友最值得学习的软件之一.除了管理自己的项目,如果你对参与开源项目感兴趣,那么Git更是联结Github. ...

  2. 学习 git基础命令

    缘起 年后到了新公司,由于个人意愿到了一个海外的项目组,除了自己从Java技术栈转了C#技术栈外,很多技术都是第一次使用,学习压力不小啊. 自己也就先从常用的技术开始学起,比如C#,AngularJS ...

  3. 从0开始学习 Git

    1. 什么是Git? Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,那什么是版本控制系统呢?怎么理解?网上一大堆详细的介绍,但是大多枯燥乏味,对于新手也很难理解,这里我只 ...

  4. Git版本控制管理学习笔记5-提交

        这个标题其实有些让人费解,因为会想这个提交是动词还是名称?     提交动作是通过git commit命令来实现的,提交之后会在对象库中新增一个提交对象.提交过程中会发生哪些变化,在上一篇笔记 ...

  5. Git版本控制管理学习笔记3-基本的Git概念

    为了更近一步的学习和理解Git的理念,这一节介绍一下Git中的一些基本概念. 基本概念 对象库图示 Git在工作时的概念 一.基本概念: 1.版本库:     Git的版本库就是一个简单的数据库,其中 ...

  6. 【Git学习笔记】初始化Git仓库和版本回退

    学习地址 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 什么是版本库呢?版本库又 ...

  7. git学习笔记之二 -- git分支

    前面对git基础作了简单的总结,这次对git的杀手锏--分支做一总结. Git分支简介 几乎每个版本控制系统都以某种形式支持分支,可以使你的工作从开发主线上分离开来,以免影响开发主线.很多版本控制系统 ...

  8. Git学习笔记01-安装Git

    学习的资料来自廖雪峰官方网站的Git教程,菜鸟教程的Git教程 Git是一个分布式版本控制工具,在windows上使用Git可以直接从官网下载,然后默认选项安装即可. 安装完成后,在开始菜单中找到找到 ...

  9. 学习Git的一点心得以及如何把本地修改、删除的代码上传到github中

    一:学习Github的资料如下:https://git.oschina.net/progit/ 这是一个学习Git的中文网站,如果诸位能够静下心来阅读,不要求阅读太多,只需要阅读前三章,就可以掌握Gi ...

随机推荐

  1. Linux中组 与 用户的管理

    在linux中建立组的指令是 groupadd 组名 相应的,删除组的指令: groupdel 组名 查看自己用户的组: groups 一个用户可以在多个组里面,用这个命令可以将用户添加到组: add ...

  2. vue2.0动态绑定图片src属性值初始化时报错

    在vue2.0中,经常会使用类似这样的语法 v-bind:src = " imgUrl "(缩写 :src = " imgUrl "),看一个案例 <te ...

  3. GitHub开源:升讯威微信营销系统(第三方微信平台)完整源代码

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction 升讯威微信营销系统开发实践系列升讯威微信营销系统开发实践:(1)功能设计与架构设 ...

  4. StringBuffer和String的相互转换

    1:用法: * A:String -- >StringBuffer * a:通过构造方法 * b:通过append()方法 * B:StringBuffer --> String * a: ...

  5. foreach循环中为什么不要进行remove/add操作

    先来看一段代码,摘自阿里巴巴的java开发手册 List<String> a = new ArrayList<String>(); a.add("1"); ...

  6. JavaScript简易计算器

    JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标 ...

  7. Muddy Fields

     Muddy Fields Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submi ...

  8. 搭建LAMP环境示例

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  9. Python实战之IO多路复用select的详细简单练习

    IO多路复用 I/O多路复用指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作. select   它通过一个select()系统调用来 ...

  10. Java面向对象 其他对象

     Java面向对象  其他对象 知识概要:             (1)可变参数 (2)静态导入 (3)System (4)Runtime (5)Date  Calendar (6)Math 本 ...