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 我分享的内容,是我在工作中会高频使用的语法,是精华内容 ...
随机推荐
- application-defined exception
dataSnap服务器,客户端调用的时候写错了一句话, SQLConnection1->CloneConnection(); 改为 SQLConnection1->Close(); 就好了 ...
- linux系统构架 - LB集群之LVS的NAT
1.环境说明 三台服务器,一台叫dir,两台叫rs1和rs2 (director 和 real server) dir外网ip:192.168.192.129 内网ip:192.168.1.114 ...
- Django 获取时间 和Linux 本地 系统时间 不一致
问题描述 Django 中获取的本地时间 ,和系统时间不一致 错误原因 Django在配置文件settings.py 中 默认配置 UTC世界标准时间,而北京时间是东八区,比UTC时间早8个小时. T ...
- js判断是否ie浏览器或者浏览器版本
var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/rv:([\d.]+)\) like g ...
- 搭建Git Server - Centos+Gitosis
参考并部分转载自:http://www.pfeng.org/archives/757 1. 安装依赖 yum -y install curl-devel expat-devel gettext-dev ...
- C#路径的相关操作
1.判定一个给定的C#路径是否有效,合法 通过Path.GetInvalidPathChars或Path.GetInvalidFileNameChars方法获得非法的C#路径/文件名字符,可以根据它来 ...
- Linux实战教学笔记41:企业级SVN版本管理与大型代码上线方案
第1章 SVN服务实战应用指南 1.1 SVN介绍 1.1.1 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN ...
- partial分部类
意义 1.源代码控制 2.将一个类或结构分成不同的逻辑单元 3.代码拆分
- vagrant 安装与配置
1.下载vagrant的安装包 http://downloads.vagrantup.com/ 2.解压安装 3.安装box环境 4.安装成功显示 5.提示要安装virbox
- chrome crx插件存档
https://github.com/mdamien/chrome-extensions-archive