git 沙河游戏节点图, 自由沙盒模拟git, 各类交互git命令
git学习练习总资源链接: https://try.github.io/ (练习已通,有document)
本沙盒游戏教学:https://learngitbranching.js.org/?demo
自由沙盒模拟网页 : http://git-school.github.io/visualizing-git/
好的译文: https://github.com/geeeeeeeeek/git-recipes/wiki
什么是git?
一个分布式的源代码库。管理Linux内核源代码。
git已快照形式保存和处理内容,每一个提交都是一次快照。git可以在快照之间回滚。
一个节点代表一个commit.
*代表当前分支的最后一次提交:HEAD
master是主干。
其他名字是分支。
git merge :用于合并分支的代码。
git rebase : 线性合并分支:
git rebase [-i] [目标] [移动记录]
git rebaes [目标] #省略[要移动的记录],则为当前分支的所有commit。
假如当前分支是bugFix:
- git rebase master. 这样bugFix分支就相当于在master的基础上新增的代码了。
- git checkout master 回到master
- git rebase bugFix, master和bugFix的代码都一样了。
HEAD:
是一个对当前检出记录的符号引用 -- 也就是指向你正在其基础上进行工作的提交记录
它总是指向当前分支上最后一次的提交记录。 大多数提交树的git命令都是从改变HEAD的指向开始的。
⚠️,后面章节讲的远程分支 origin/master是例外
HEAD 通常是指向分支名的(如bugFix)。在你提交commit时,改变了分支的状态,这一变化通过HEAD变得可见。
分离的HEAD:
让它指向某个具体的提交记录(hash值)而不是分支名。
git checkout <hash>
git checkout命令本质就是移动HEAD,到目标commit点, 然后更新工作目录以匹配这个commit点。
因为这个操作会overwrite local changes,导致改变的文件丢失,所以Git强迫你先commit或stash工作目录中的改变的文件。
⮀ git checkout master
error: Your local changes to the following files would be overwritten by checkout:
app/assets/javascripts/search.js
Please commit your changes or stash them before you switch branches.
关于git stash (具体工作原理和全部的知识见链接文章)
会把尚未加入stage的文件和statge中的文件保存(就是未commited的文件),以便在之后使用。
之后可以revert them from your working copy.

现在可以进入任何其他操作,如创建新commits, 转变分支,执行其他git操作了。
⚠️stash是本地的。当你push的时候,stash不会被传输。
Re-applying your stashed changes:
$ git stash pop
另外使用git stash apply, 可以reapply the changes的同时在stash中保留它们。这在为多个分支应用时有用。
⚠️:默认Git不会stash 未tracked文件和ignored files。
相对引用
通过指定提交记录hash值的方式在Git中移动不方便操作。
必须用到git log, 而且hash值非常长。
因此可以只使用前几个字符代表一个提交记录 , 即“相对引用”。
^ 代表
git 沙河游戏节点图, 自由沙盒模拟git, 各类交互git命令的更多相关文章
- Git 沙盒模拟实战(基础篇)
Git 沙盒模拟实战 分支 现有一个主分支 创建分支 # 创建分支 $ git branch bugFix # 切换到指定分支 $ git checkout bugFix 或者 # 创建分支,并切换到 ...
- Git 沙盒模拟实战(远程篇)
Git 沙盒模拟实战(远程篇) >---基础篇 远程仓库 远程仓库并不复杂, 在如今的云计算盛行的世界很容易把远程仓库想象成一个富有魔力的东西, 但实际上它们只是你的仓库在另个一台计算机上的拷贝 ...
- 3D 沙盒游戏之人物的点击行走移动
前言 在 3D 游戏中,都会有一个主人公.我们可以通过点击游戏中的其他位置,使游戏主人公向点击处移动. 那当我们想要实现一个"点击地面,人物移动到点击处"的功能,需要什么前置条件, ...
- 游戏开发设计模式之子类沙盒模式(unity3d 示例实现)
积累提供所有操作(的实现)来定义子类的行为用一个最简单的例子来讲解这个模式玩家操纵的英雄也就是这个游戏的主角会有许多技能,我们想定义许多不同的技能,来让玩家使用.首 先我们定义一个skillBase类 ...
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-12-11日更新获取”产品付费数量等于0的问题”】
转的别人的 看到很多童鞋问到,为什么每次都返回数量等于0?? 其实有童鞋已经找到原因了,原因是你在 ItunesConnect 里的 “Contracts, Tax, and Banking”没有完成 ...
- iOS存储数据字典到沙盒
1.创建一个账号数据模型 用来存放从服务器返回的数据,一般返回的是一个字典,里面包含了这个登陆用户的各种信息,这个数据模型就是用来存放这些东西的 创建一个数据模型 YYCAccount 继承 NSO ...
- <转>iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!
原文地址:http://blog.csdn.net/xiaominghimi/article/details/6937097 //——2012-12-11日更新 获取"产品付费数量等于0 ...
- NSFileManager(沙盒文件管理)数据持久化 <序列化与反序列化>
iOS应用程序只能在为该改程序创建的文件中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. 默认情况下 ...
- iOS开发——多线程篇——快速生成沙盒目录的路径,多图片下载的原理、SDWebImage框架的简单介绍
一.快速生成沙盒目录的路径 沙盒目录的各个文件夹功能 - Documents - 需要保存由"应用程序本身"产生的文件或者数据,例如:游戏进度.涂鸦软件的绘图 - 目录中的文件会被 ...
随机推荐
- linux 分卷压缩和合并
压缩: 可以用任何方式压缩,如tar -czf 分卷: split [OPTION]... [INPUT [PREFIX]] -b 代表分卷大小, 后面可以加单位,如G,M,K. 如果不 ...
- ios开发 内测包添加测试UDID
内侧包添加 UDID: 1.蒲公英获取设备UDID https://www.pgyer.com/udid 2. 登录开发者中心 --> Certificates, Identifiers ...
- requests获取所有状态码
requests获取所有状态码 requests默认是不会获取301/302的状态码的.可以设置allow_redirects=False,这样就可以获取所有的状态码了 import requests ...
- Windows上的巧克力味Chocolatey详解
Chocolatey是什么?很简单,Chocolatey就是Windows系统的yum或apt-get. 一.Chocolatey介绍 Chocolatey是一款专为Windows系统开发的.基于Nu ...
- django高级之点赞、文章评论及上传文件
目录: 点赞 文章评论 上传文件 保留页面条件 一.点赞 1.所用技术: django model F查询 js应用:$(function () {}); 为文件加载完成执行ready() 方法.等同 ...
- MySQL中特有的函数If函数
上面我们已经知道了case函数可以实现逻辑判断,可以是很复杂的逻辑判断,但是如果我们只想实现的是如果这个条件成立就返回A否则就返回B这样简单的逻辑如果用case的话,未免复杂了.我们可以使用if函数来 ...
- 转: C# 根据当前时间获取,本周,本月,本季度等时间段 .Net中Exception
DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays( - Convert.ToInt32(dt.DayOfWeek.T ...
- Python: 字符串格式化format()函数的使用
python从2.6开始支持format,新的更加容易读懂的字符串格式化方法,从原来的% 模式变成新的可读性更强的 花括号声明{}.用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序号, ...
- Flux 单向数据流
Flux 的核心就是一个简单的约定:视图层组件不允许直接修改应用状态,只能触发 action.应用的状态必须独立出来放到 store 里面统一管理,通过侦听 action 来执行具体的状态操作. 所谓 ...
- WdatePicker设置日期范围
设置 结束日期不超过当天日期:设置 开始日期不超过结束日期:设置 开始日期默认显示当月1日的日期,结束日期显示当天日期?<label>开始日期:</label><inpu ...