Git的故事
Git
Git的概念
首先我们要知道git是什么,最根本的概念是版本控制,顾名思义,就是git可以帮助我们控制自己写的代码或者文档的版本控制.用以管理不同时间,不同协作者之间同一个项目的不同版本,或者说不同的状态.
上面说了这么多,最简单的总结来说,git就是一种版本控制器,通常用在团队开发的时候管理代码所使用的的软件.
Git的安装
一般我们用的系统只有三种,即windows,linux和mac
windows和mac的安装:
官网https://git-scm.com/downloads,下载对应软件即可
linux的安装:
yum install git
Git的配置
在安装完成之后,我们需要配置git的用户名和邮箱,可以选择全局配置或者局部配置
全局配置用户
# 在cmd或者bash的窗口中
git config --global user.name '用户名'
git config --global user.email '用户邮箱'
"""
上面添加的全局信息是存储在
C:\Users\用户文件夹\.gitconfig 的文件中
如果不想用指令添加全局用户的话,可以直接编辑该文件
"""
局部配置用户
"""
首先需要在仓库的目录下,右键打开Git Bash Here
指令如下:
"""
git config user.name '用户名'
git config user.email '用户邮箱'
"""
局部配置的优先级大于全局用户
"""
Git的指令
其实Git支持大多数Linux的原生指令,比如vim,ls,cat,cd等等.
Git的大致流程分两大类,即上传和下载,上传是把本地的数据上传到服务端,下载则是把服务端的数据下载到客户端.
注意:一般情况下,在上传(push)数据之前,要先从服务端(pull)下载一次,这是操作习惯.
上传的流程如下:
创建文件夹(mkdir) -> git初始化(git init) -> 提交至缓存区(git add 文件名) -> 从缓存区到版本库(git commit -m ‘提交的信息注释’) -> 从版本库提交至服务端(push)
下载则非常简单,直接用pull,或者clone即可
"""
1. 查看存在的git仓库
git status
2. 定义git仓库
git init (仓库名) # 不添加仓库名会定义当前文件夹为git仓库
3. 提交至缓存区
git add README.md
~3.缓存区的退回,即add的逆运算
git reset HEAD . # 撤销所有暂存区的提交
git reset 文件名 # 撤销某一文件的暂存区的提交
4. 从缓存区到版本库
git commit -m "注释信息"
5. 从版本库提交至服务端
在此之前,我们要配置服务端的远程源,这里我们用的是gitee的远程源,远程源一般有两种方式:
(1)https协议方式
git remote add origin https://gitee.com/用户名/仓库名
(2)ssh协议方式
git remote add origin git@gitee.com:用户名/仓库名
我们可以用
git remote -v 来查看当前配置的远程源
提交至服务端:
git push -u 远程库的代号(默认是origin) 本地的版本(默认是master)
比如:
git push -u origin master
6. 从服务端下载至本地,clone和pull还是有区别的
区别在于,clone是从服务端克隆一个一模一样的版本库到本地,复制的是整个版本库.而pull是从服务端取到一个分支更新到本地.
git pull 远程库的代号(默认是origin) 本地的版本(默认是master)
git clone 远程库的代号(默认是origin) 本地的版本(默认是master)
比如:
git pull origin master
git clone origin master
"""
Git的故事的更多相关文章
- 如何让Git适应敏捷开发流程?
一旦涉及到版本控制系统,Git实际上代表敏捷开发的水平.Git作为一款强大的开源系统,有较强的灵活性,可以按需匹配任何开发团队的工作流程.而这种分布式相比较集中式来说,可以赋予系统更好的性能特征,且允 ...
- 代码托管从业者 Git 指南
本文作者:李博文 - CODING 后端开发工程师 前言 六七年前,我机缘巧合进入了代码托管行业,做过基于 Git 支持 SVN 客户端接入.Git 代码托管平台分布式.Git 代码托管读写分离.Gi ...
- Mac 开发者常用的工具
转载:http://www.oschina.net/news/53946/mac-dev-tools 在写 Mac 程序员的十个武器之前,我决定先讲一个故事,关于 Mac 和爱情的.(你们不是问 Ma ...
- 【转】Mac 程序员的十种武器
http://chijianqiang.baijia.baidu.com/article/3733 上 在写 Mac 程序员的十个武器之前,我决定先讲一个故事,关于 Mac 和爱情的.(你们不是问 M ...
- 一个 Git 分支协作模式的进化故事
从不用版本管理到使用 Git 分支管理的故事,也就是从这个时候开始的... 某公司只有一个程序员,一开始并没有版本管理的概念.项目开发只有一个人在参与,所以也没用版本管理工具. 后来,老板又招了两个程 ...
- Git幕后的“故事”
因为做操作系统实验的原因,所以通读了一遍<Understanding git conceptually>,觉得确实不错,于是就简单地记录一下.有的地方理解的还不是很深,可能不够准确,等抽时 ...
- github与gitlab与git三个基佬的故事
我们了解了git是以个人为中心,但是人人都得数据交互呀..python程序员每天都忙着进行py交易 交互数据的方式 使用github或者码云等公有代码仓库,托管代码的地方,谁都可以看 公司内部使用gi ...
- Git历险记(四)——索引与提交的幕后故事
我想如果看过<Git历险记>的前面三篇文章的朋友可能已经知道怎么用git add,git commit这两个命令了:知道它们一个是把文件暂存到索引中为下一次提交做准备,一个创建新的提交(c ...
- 我与PHP和git不得不说的故事(梦开始的地方,从入门到放弃记录第一章)
·关于下载 阿瑶瑶跟wampsever官网搏斗了一下午,其实我觉得教材可能在PUA我.谷歌说它给的网址安全证书过期,然后下载以断网收场.(阿瑶的第一战,以失败告终) [经过我玲姐指点,下载路径变为迅雷 ...
随机推荐
- 架构-软件系统体系结构-B/S架构:B/S架构
ylbtech-架构-软件系统体系结构-B/S架构:B/S架构 B/S架构即浏览器和服务器架构模式.它是随着Internet技术的兴起,对C/S架构的一种变化或者改进的架构.在这种架构下,用户工作界面 ...
- 自旋锁spinlock
1 在单处理器上的实现 单核系统上,不存在严格的并发,因此对资源的共享主要是多个任务分时运行造成的. 只要在某一时段,停止任务切换,并且关中断(对于用户态应用程序,不大可能与中断处理程序抢临界区资源) ...
- Comet OJ - Contest #4 B题 奇偶性
题目链接:https://www.cometoj.com/contest/39/problem/B?problem_id=1577 题意:给你一个数列,求L 到 R 区间内 所有数列 (ƒn mod ...
- Java全栈,MySQL搞透,架构手到擒来,还有面试官搞不定?
五月最后一天啦,时间过得真快,做技术的难免做了几年就感觉很迷茫,那就需要多读点书,多学点技术才能有安全感. 栈长之前推荐过不少极客时间的课程,几乎每周都推荐一个,很多朋友评论说,课程太多学不过来,今天 ...
- DNF游戏币拼团
DNF游戏币拼团活动方案 活动目的: 通过拼团的方式来实现老拉新和现实新用户转换,可以通过有需求的用户来告知好友来进行用户裂变 活动时间:预计时间2018.11.11-2018.11.23 SLOGA ...
- 第七篇 css选择器实现字段解析
CSS选择器的作用实际和xpath的一样,都是为了定位具体的元素 举例我要爬取下面这个页面的标题 In []: title = response.css(".entry-header h1& ...
- centos yum 安装 tomcat
1.安装 yum install tomcat 2.卸载 yum remove tomcat 3.地址映射 http://localhost:8080/ /usr/share/tomcat/webap ...
- ajax的两种应用方式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- linux 磁盘与文件系统管理 (鸟哥私房菜)
各种接口磁盘在Linux中的文件名分别为 /dev/sd[a-p][1-15]:为SCSI,SATA,USB,Flash随身碟等接口的磁盘文件名 /dev/hd[a-d][1-63]:为IDE接口的磁 ...
- Jquery中$.get(),$.post(),$.ajax(),$.getJSON(),$.getScript(),$.load()的用法总结
参考文档 : https://blog.csdn.net/jiandanokok/article/details/48809717 本文是对Jquery中$.get(),$.post(),$.aja ...