版本控制之git学习
最近学习了一下版本控制中比较符合开发者气质的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学习的更多相关文章
- 【IntelliJ IDEA学习之九】版本控制之Git和Github
版本:IntelliJIDEA2018.1.4 [IntelliJ IDEA学习之九]版本控制之Git版本:IntelliJIDEA2018.1.4 一.git知识准备git是目前流行的分布式版本管理 ...
- Git 学习看这篇就够了!
Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...
- git学习资料包
1.廖雪峰老师的git教程:https://www.liaoxuefeng.com -----点击“GIT教程”开始学习 2.菜鸟教程git学习:http://www.runoob.com/gi ...
- 版本控制工具——Git常用操作(上)
本文由云+社区发表 作者:工程师小熊 摘要:用了很久的Git和svn,由于总是眼高手低,没能静下心来写这些程序员日常开发最常用的知识点.现在准备开一个专题,专门来总结一下版本控制工具,让我们从git开 ...
- SVN和Git的功能和区别,尚学堂SVN和Git学习视频资料免费下载
对于软件开发人员来说,版本控制系统再熟悉不过了,所谓版本控制系统就是软件项目开发过程中用于储存开发人员所写代码所有修订版本的软件.目前常见的版本控制系统分为集中式版本控制系统(SVN)和分布式版本控制 ...
- Git学习之第一次使用PR
发起PR的流程 1.Fork想要pr的项目,在自己的仓库里建立一个相同的项目. 2.Clone我们Fork的项目,在本地建立一个项目,方便修改. 3.将修改后的本地项目上传到github上. 4.向原 ...
- 个人git链接和git学习心得总结
个人git链接和git学习心得总结 个人git链接: https://github.com/hanzhaoyan Git 是 Linux 的创始人 Linus Torvalds 开发的开源和免费的版本 ...
- 版本控制工具Git工具快速入门-Linux篇
版本控制工具Git工具快速入门-Linux篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.版本管理系统的介绍 1>.版本管理系统的特点 1.1>.自动生成备份: ...
- 版本控制工具Git工具快速入门-Windows篇
版本控制工具Git工具快速入门-Windows篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近在学习Golang语言,之前的开发环境在linux上开发的,后来由于办公用的是w ...
随机推荐
- Git 基础教程 之 删除文件
① 手动或命令 rm删除工作区的问价: git checkout -- readme.txt 可恢复 checkout 实际上是用版本库里的替换工作区的版本 ② 删除了工作区文 ...
- NodeJS的安装与使用
Node.js 就是运行在服务端的 JavaScript.越来越多的人在使用它,通过他我们可以用JavaScript来构建后台.对于前端程序员而言,不言而喻这是一条多么令人振奋的消息.对于后台程序员而 ...
- sublime text3环境与工具搭建
1,ctrl+shift+P ,打开包安装窗口如下: 2,选择 install Package,安装详解插件 1-安装 JsFormat插件,用于格式化js的插件,使用快捷键 Ctrl+Alt+F对J ...
- 关于Linux静态库和动态库的分析
关于Linux静态库和动态库的分析 关于Linux静态库和动态库的分析 1.什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可运行代码的二进制形式.能够被操作系统加 ...
- Java与设计模式-策略模式
在实际开发中,可能会遇到这样一个情况,某一功能的实现分为多种算法,这些算法能够认定为策略,在实际操作时选择不同算法或策略进行操作得出终于结果.在实际生活中.这些样例也是举不胜举.比如.商场举行活动,满 ...
- Storm集群组件和编程模型
Storm工作原理: Storm是一个开源的分布式实时计算系统,常被称为流式计算框架.什么是流式计算呢?通俗来讲,流式计算顾名思义:数据流源源不断的来,一边来,一边计算结果,再进入下一个流. 比 ...
- Controller methods and views
https://docs.asp.net/en/latest/tutorials/first-mvc-app/controller-methods-views.html We have a good ...
- 寒武纪芯片——有自己的SDK,支持tf、caffe、MXNet
寒武纪芯片 产品中心>智能处理器IP 智能处理器IP MLU智能芯片 软件开发环境 Cambricon-1A 高性能硬件架构及软件支持兼容Caffe.Tensorflow.MXnet等主流AI开 ...
- J2EE7与Servlet3.x
J2EE7结构图 JWS:即Java Web Service,指与webservice相关的JavaEE技术部分,webservice是一种基于XML的独立的.跨平台的.互操作的应用程序,XML又包含 ...
- Node.js:RESTful API
ylbtech-Node.js:RESTful API 1.返回顶部 1. Node.js RESTful API 什么是 REST? REST即表述性状态传递(英文:Representational ...