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 我分享的内容,是我在工作中会高频使用的语法,是精华内容 ...
随机推荐
- **深入了解lambda
之前已经了解过lambda了,但是在学习了闭包之后,我们有必要在探讨一下lambda(匿名函数). 匿名函数本质上就是一个函数,它所抽象出来的东西是一组运算. 它的使用场景就是:你在某处就真的只需要使 ...
- Eclipse将控制台输出信息保存为文件
当你在Eclipse中 running/debugging一个应用程序的时候,有关该应用程序的运行调试信息及日志信息都会输出到控制台(console )显示,但是Eclipse只会显示最后一部分的日志 ...
- python时间戳、日期、时间转换
1.str转时间戳 # 字符类型的时间 tss1 = '2013-10-10 23:40:00' # 转为时间数组 timeArray = time.strptime(tss1, "%Y-% ...
- flask 常见关系模板代码
以下罗列了使用关系型数据库中常见关系定义模板代码 一对多示例场景:用户与其发布的帖子(用户表与帖子表)角色与所属于该角色的用户(角色表与多用户表)示例代码class Role(db.Model): & ...
- java算法 第七届 蓝桥杯B组(题+答案) 1.煤球数目
1.煤球数目 (结果填空) 有一堆煤球,堆成三角棱锥形.具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少 ...
- Lucene介绍及简单入门案例(集成ik分词器)
介绍 Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和 ...
- Stars URAL - 1028
就是给你一些星星的坐标,然后求出每个星星的左下角有多少颗星星 题目保证按照Y坐标的顺序给出每个星星的坐标,那么我们就可以说,当输入某个星星的坐标时,此时有多少个星星的横坐标小于它,它左下角就有多少星星 ...
- 这几天用高通VUFORIA的体会
VUFORIA 主要用来做图像识别,先把图片上至网站,然后网站分析生成数据包 在UNITY中导入VUFORIA SDK和数据包后,就可以正常使用了 对了,数据包需要勾选Load Active那个选项, ...
- iOS中NSDate常用转换操作整合
//当前时间格式化, 例:YYYY-MM-dd-EEEE-HH:mm:ss + (NSString *)getCurrentDataWithDateFormate:(NSString *)format ...
- c++ 观察者模式(observer)
观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.它还有两个别名,依赖 (Dependents),发布-订阅(Publish-Subs ...