Git 极简入门教程学习笔记
Git 极简入门教程 http://rogerdudler.github.io/git-guide/index.zh.html
测试用 https://github.com/xxx/BrnShop.git
1.检出仓库,创建本地git 仓库
这里我已经知道了GitHub的代码仓库,可以省掉在本地创建新仓库(git init)命令, 直接实践了clone命令
直接clone Github上的仓库到本地 :
$ git clone https://github.com/xxx/BrnShop.git, 完成后在本地创建了项目目录BrnShop

2.然后进入到这个git仓库,图2, 这点很重要, 见下面的蓝色的master,说明我们现在处于git仓库的主干

3.提出更改,把我们的代码添加到Git暂存区,即怎样将将代码从工作目录添加到暂存区
git add <filename> 这是 git 基本工作流程的第一步
git add * 在自己的工作目录下执行

什么是暂存区? Git维护着本地的Git仓库的三个区域,第一个是我们自己的工作目录,它持有实际文件;第二个是 暂存区(Index),它像个缓存区域,临时保存着我们的改动;最后是 HEAD,它指向你最后一次提交的结果。
4.提交代码,即将改动提交到了 HEAD,但是还没将改动提交到远端仓库
git commit -m "代码提交信息" //执行完这条命令改动现在已经在本地仓库的 HEAD 中了

5.推送改动,即将这些改动提交到远端仓库
git push origin master //可以把 master 换成想要推送的其它任何分支。


待理解 如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加: git remote add origin <server> 如此你就能够将你的改动推送到所添加的服务器上去了。
6.分支 之前的操作,不做任何设置, 默认都是在"master"主干上开发,如果需要将自己的开发与"主干"绝缘开了,需要理解git中分支概念
6.1 创建一个叫做“feature_x”的分支,并切换过去
核心命令: git checkout

6.2 切回主干: git checkout master
6.3 删除分支: git branch -d feature_x
6.4 将分支推送的远端仓库 git push origin <branch>
7.更新主干,即取回远程主机某个分支的更新,再与本地的指定分支合并
当在master时, 执行 git pull命令 见图

当我在gitHub上直接编辑READ.md后,执行上述命令,改动会下载到本地
8.在工作分支下合并其他分支,即将其它分支的改动合并到到当前分支
在feature_x 下执行 $ git merge master
9. git diff 命令 如 $ git diff feature_x master
10. 查看提交log 和相关的打标签命令 为软件发布创建标签



11. 撤销
方法一:
用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。
git checkout -- <filename>
方法二: 放弃在本地的所有改动与提交,使本地仓库到服务器上获取最新的版本历史
git fetch origin
git reset --hard origin/master

Q&A
1.暂存区临时保存着我们的改动
2.怎样将将代码从工作目录添加到暂存区
3.fetch 命令是什么作用?
Git 极简入门教程学习笔记的更多相关文章
- Webpack新手入门教程(学习笔记)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 30.0px Helvetica; color: #000000 } ...
- TypeScript 入门教程学习笔记
TypeScript 入门教程学习笔记 1. 数据类型定义 类型 实例 说明 Number let num: number = 1; 基本类型 String let myName: string = ...
- Nginx 极简入门教程!
上篇文章和大家聊了 Spring Session 实现 Session 共享的问题,有的小伙伴看了后表示对 Nginx 还是很懵,因此有了这篇文章,算是一个 Nginx 扫盲入门吧! 基本介绍 Ngi ...
- ABP 极简入门教程(一)
本示例不讲概念,只讲怎么用,概念性的内容没有比官方文档更清楚的了,我也正在学习,可能理解的地方有不对的欢迎一起交流,但需要您了解以下内容才能看明白 asp.net core Entity Framew ...
- Nginx 极简入门教程!(转)
基本介绍 Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务. Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.r ...
- ABP 极简入门教程(三 权限)
此处演示为MVC项目,同样权限定义需要到Application中才能在获取API时进行权限验证 一.打开Sample.Core\Authorization\PermissionNames.cs增加授权 ...
- ABP 极简入门教程(二 MVC方式显示数据)
增加显示菜单 Sample.Web.MVC项目中找到startup目录打开SampleNavigationProvider.cs,根据现有内容添加以下内容 .AddItem( new MenuItem ...
- Git、Github、Gitkraken 学习笔记
<Git.Github.Gitkraken 学习笔记> 一.写在前面 1.参考资料 本文参考 <Pro Git> 一书. 在官网有免费在线版可供阅读:https://git-s ...
- 极简python教程02:基础变量,删繁就简
python极简教程已经开赛,如果错过说明可以回翻: 极简python教程:赛前说明 借这个机会,我再讲讲我的教程和其他网上的教程的区别: 1 我分享的内容,是我在工作中会高频使用的语法,是精华内容 ...
随机推荐
- Delphi IOS 后台定时器
3.这里有一个问题,就是客户端是通过心跳来和服务端保持连接,心跳是由定时器触发的,当我退到后台以后,定时器方法被挂起,那么通过如下设置来在后台运行定时器 beginBackgroundTaskWith ...
- From Ruby array to JS array in Rails- 'quote'?
From Ruby array to JS array in Rails- 'quote'? <%= raw @location_list.as_json %>
- 【转】运输层TCP协议详细介绍
TCP是TCP/IP协议族中非常复杂的一个协议.它具有以下特点: 1:面向连接的运输层协议.在使用TCP协议之前,首先需要建立TCP连接.传送数据完毕后,必须释放已经建立的TCP连接. 2:一条TCP ...
- 【301】IDL与C#混合编程
目录: 一.COM_IDL_CONNECT 1. 添加组件 2. 组件初始化 3. 功能调用 4. 数据传递 二.IDLDrawWidget组件 C# (C Sharp)是微软公司在2000年6月发布 ...
- ubuntu 下安装nanomsg和nnpy
nanomsg nanomsg是ZeroMQ作者用C语言重写的一个Socket库,其用法和模式和ZeroMQ差不多,但是具有更好的性能和更完善的接口. 首先下载源码 wget https://gith ...
- Elasticsearch-PHP 概述
最近在学习使用Elasticsearch,并且是和PHP一起使用的,看到了Elasticsearch-PHP,其实是Elasticsearch为PHP提供的客户端,那么我们来学习一下API文档,如何在 ...
- 删除链表之two star programming
最近偶尔看到一篇关于Linus Torvalds的访问,大神说大部分人都不理解指针.假设被要求写一段链表删除节点的程序,大多数的做法都是跟踪两个指针,当前指针cur和其父节点pre,这种实现很容易理解 ...
- spring bean单例注入与用单例模式通过class.getinstance()区别?
1.action的某个方法中,用以下代码获得redis单例实例 RedisDelegate redisDelegate = RedisDelegate.getInstance(); redisDele ...
- Nginx源码完全注释(6)core/murmurhash
下面是摘自 Google Code 的 Murmurhash 开源项目主页上的 Murmurhash2,Nginx 就是采用的这个. uint32_t MurmurHash2 ( const void ...
- JavaScript中的一些小技巧
js 数字操作:1.1 取整:取整有很多方法如: parseInt(a,10); Math.floor(a); a>>0; ~~a; a|0; 前面2种是经常用到的,后面3种算是比较偏的, ...