最近学习了一下版本控制中比较符合开发者气质的Git,这里做一个总结。一来梳理所学的内容;二来也作为起点后续继续丰富。学习的方式主要为网络学习和个人实践。推荐两个学习网页,互相参考必有所成。

  博客园:http://www.cnblogs.com/best/archive/2017/09/07/7474442.html

  廖雪峰:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

  ------------------------------------------------------------------------------------------------------------

  1、工具准备

    a、下载Windows GUI:https://git-scm.com/ 【安装完成后,鼠标右键中将会出现git bash here和git gui here;这里我们主要用git bash here,这里类似于Linux命令,git + cmd】

    b、在github上注册一个账号:https://github.com

    b、小乌龟(工作中可能要):https://download.tortoisegit.org/tgit/2.5.0.0/

    d、smart git工具,windows模式助你完成命令难处理之处

  2、实践准备

    a、桌面上新建一个文件夹(项目:test),选中文件夹右击后,选择git bash here .

    b、为test创建git版本管理,执行: git init【你会在test文件夹下,看到隐藏文件夹.git,里面有HEAD/refs等。这就是用来进行版本控制的东西】

  3、基本知识

    a、Git含远程(github)在内,可以分为4个区。I(工作区-WorkSpace,即为test除了.git文件之外的部分)、II(暂存区-Stage/Index,即为.git中的Index部分)、III(本地版本区-Local Resopsity)、IV(远程版本区-github上)

    b、个人在工作区进行写代码和文档,完成后提交到暂存区,在提交到本地版本区,无误后再提交到远程端。由于项目本身可能是多人协作,大家都可以从远程端clone项目文档到本地开发。Git提供了不错的分支、标签和版本切换。基本所有过程可追溯、可逆。

    c、git中的文件类型:Untracted(项目新文件)、Unmodified(项目原始文件)、Modified(项目被修改文件)、Staged(暂存区中文件)。查看文件状态:git status [filename],系统会告诉你可能用到的一些脚本提示。

  4、常用命令

    git status:查看文件状态

    git add . 将当前目录下文件添加到stage中

    git commit -m "mesage"  提交到本地库,注释信息:message

    git checkout -b bname  切换分支,如果不存在则新建

    git log --pretty=oneline 查看本地日志历史,当前所在会有Head指向

    git merge master 在本地分支合并master代码

  5、场景1(团队协作)

    a.git clone ** //克隆代码待本地

    b.git checkout -b *** //新建分支

    c.develop or modify

    d.git add . //加入到stage中

    e.git commit -m "message" //提交到本地库

    f.review代码

    g.git checkout  master 切换到主分支

    h.git pull  更新代码

    i.git checkout ***切换分支

    j.git merge master //把master分支内容合并到当前分支中。

    k.git push origin ***  推送到远程库

  6.场景2(修复bug)

    a.git add .

    b.git stash  //放入临时中

    c.git checkout bugBranch

    d.git pull --rebase origin master

    e.fix bug

    f.git add.

    g.git commit -m "message"

    h.git push

    i.git checkout ***

    j.git stash pop //切换回工作分支,并回复临时保存的工作场景

    

版本控制之git学习的更多相关文章

  1. 【IntelliJ IDEA学习之九】版本控制之Git和Github

    版本:IntelliJIDEA2018.1.4 [IntelliJ IDEA学习之九]版本控制之Git版本:IntelliJIDEA2018.1.4 一.git知识准备git是目前流行的分布式版本管理 ...

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

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

  3. git学习资料包

    1.廖雪峰老师的git教程:https://www.liaoxuefeng.com    -----点击“GIT教程”开始学习 2.菜鸟教程git学习:http://www.runoob.com/gi ...

  4. 版本控制工具——Git常用操作(上)

    本文由云+社区发表 作者:工程师小熊 摘要:用了很久的Git和svn,由于总是眼高手低,没能静下心来写这些程序员日常开发最常用的知识点.现在准备开一个专题,专门来总结一下版本控制工具,让我们从git开 ...

  5. SVN和Git的功能和区别,尚学堂SVN和Git学习视频资料免费下载

    对于软件开发人员来说,版本控制系统再熟悉不过了,所谓版本控制系统就是软件项目开发过程中用于储存开发人员所写代码所有修订版本的软件.目前常见的版本控制系统分为集中式版本控制系统(SVN)和分布式版本控制 ...

  6. Git学习之第一次使用PR

    发起PR的流程 1.Fork想要pr的项目,在自己的仓库里建立一个相同的项目. 2.Clone我们Fork的项目,在本地建立一个项目,方便修改. 3.将修改后的本地项目上传到github上. 4.向原 ...

  7. 个人git链接和git学习心得总结

    个人git链接和git学习心得总结 个人git链接: https://github.com/hanzhaoyan Git 是 Linux 的创始人 Linus Torvalds 开发的开源和免费的版本 ...

  8. 版本控制工具Git工具快速入门-Linux篇

    版本控制工具Git工具快速入门-Linux篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.版本管理系统的介绍 1>.版本管理系统的特点 1.1>.自动生成备份: ...

  9. 版本控制工具Git工具快速入门-Windows篇

    版本控制工具Git工具快速入门-Windows篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近在学习Golang语言,之前的开发环境在linux上开发的,后来由于办公用的是w ...

随机推荐

  1. PAT 1088. Rational Arithmetic

    For two rational numbers, your task is to implement the basic arithmetics, that is, to calculate the ...

  2. JSLinq 的使用

    在net 中经常使用Linq 语法或者lamada 表达式,在使用的过程中感觉很方便,但是在涉及到JS的时候,总要自己去写逻辑代码去查询相关数据,通过搜索发现 已经有关于JSLInq的扩展方法,可以像 ...

  3. jQuery动态效果

    1.一号店首页 2.淘宝网购物车

  4. orcale 日期显示格式化

    SQL> select * 2 from emp 3 where hiredate='1987-11-17'; where hiredate='1987-11-17' * 第 3 行出现错误: ...

  5. 洛谷 P3227 BZOJ 3144 [HNOI2013]切糕

    题目描述 经过千辛万苦小 A 得到了一块切糕,切糕的形状是长方体,小 A 打算拦腰将切糕切成两半分给小 B.出于美观考虑,小 A 希望切面能尽量光滑且和谐.于是她找到你,希望你能帮她找出最好的切割方案 ...

  6. 洛谷—— P1962 斐波那契数列

    https://www.luogu.org/problem/show?pid=1962 题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f ...

  7. notifyDataSetChanged()刷新ListView(使用JSONArray绑定的Adapter)

    1.fragment代码: package com.ts.fragment; import java.util.ArrayList; import java.util.HashMap; import ...

  8. Huffman编码实现压缩解压缩

    这是我们的课程中布置的作业.找一些资料将作业完毕,顺便将其写到博客,以后看起来也方便. 原理介绍 什么是Huffman压缩 Huffman( 哈夫曼 ) 算法在上世纪五十年代初提出来了,它是一种无损压 ...

  9. Java面试-Struts2

    1  Struts2工作原理 一个请求在Struts2框架中的处理大概分为下面几个步骤: 1.client初始化一个指向Servlet容器(比如Tomcat)的请求: 2.这个请求经过一系列的过滤器( ...

  10. Android开机键失灵启动手机的解决的方法

    问题描写叙述 Android手机的关机键损坏,无法开机. 解决方法 将手机通过USB线链接电脑,进入命令行.找到adb命令所在文件夹.执行例如以下命令: adb reboot 注意:用这样的方法的前提 ...