Git

Git的概念

首先我们要知道git是什么,最根本的概念是版本控制,顾名思义,就是git可以帮助我们控制自己写的代码或者文档的版本控制.用以管理不同时间,不同协作者之间同一个项目的不同版本,或者说不同的状态.

上面说了这么多,最简单的总结来说,git就是一种版本控制器,通常用在团队开发的时候管理代码所使用的的软件.

Git的安装

一般我们用的系统只有三种,即windows,linux和mac

  1. windows和mac的安装:

    官网https://git-scm.com/downloads,下载对应软件即可

  2. 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的故事的更多相关文章

  1. 如何让Git适应敏捷开发流程?

    一旦涉及到版本控制系统,Git实际上代表敏捷开发的水平.Git作为一款强大的开源系统,有较强的灵活性,可以按需匹配任何开发团队的工作流程.而这种分布式相比较集中式来说,可以赋予系统更好的性能特征,且允 ...

  2. 代码托管从业者 Git 指南

    本文作者:李博文 - CODING 后端开发工程师 前言 六七年前,我机缘巧合进入了代码托管行业,做过基于 Git 支持 SVN 客户端接入.Git 代码托管平台分布式.Git 代码托管读写分离.Gi ...

  3. Mac 开发者常用的工具

    转载:http://www.oschina.net/news/53946/mac-dev-tools 在写 Mac 程序员的十个武器之前,我决定先讲一个故事,关于 Mac 和爱情的.(你们不是问 Ma ...

  4. 【转】Mac 程序员的十种武器

    http://chijianqiang.baijia.baidu.com/article/3733 上 在写 Mac 程序员的十个武器之前,我决定先讲一个故事,关于 Mac 和爱情的.(你们不是问 M ...

  5. 一个 Git 分支协作模式的进化故事

    从不用版本管理到使用 Git 分支管理的故事,也就是从这个时候开始的... 某公司只有一个程序员,一开始并没有版本管理的概念.项目开发只有一个人在参与,所以也没用版本管理工具. 后来,老板又招了两个程 ...

  6. Git幕后的“故事”

    因为做操作系统实验的原因,所以通读了一遍<Understanding git conceptually>,觉得确实不错,于是就简单地记录一下.有的地方理解的还不是很深,可能不够准确,等抽时 ...

  7. github与gitlab与git三个基佬的故事

    我们了解了git是以个人为中心,但是人人都得数据交互呀..python程序员每天都忙着进行py交易 交互数据的方式 使用github或者码云等公有代码仓库,托管代码的地方,谁都可以看 公司内部使用gi ...

  8. Git历险记(四)——索引与提交的幕后故事

    我想如果看过<Git历险记>的前面三篇文章的朋友可能已经知道怎么用git add,git commit这两个命令了:知道它们一个是把文件暂存到索引中为下一次提交做准备,一个创建新的提交(c ...

  9. 我与PHP和git不得不说的故事(梦开始的地方,从入门到放弃记录第一章)

    ·关于下载 阿瑶瑶跟wampsever官网搏斗了一下午,其实我觉得教材可能在PUA我.谷歌说它给的网址安全证书过期,然后下载以断网收场.(阿瑶的第一战,以失败告终) [经过我玲姐指点,下载路径变为迅雷 ...

随机推荐

  1. Block 使用总结

    - (void)testBlockWeakObj1 { UILabel *tl = [[UILabelalloc]init];//本地局部变量 __weak UILabel *weakTL = tl; ...

  2. unittest框架学习笔记五之参数化

    例子一: # coding=utf-8'''created:2018/3/29 author:star project:lianxi canshuhua'''from selenium import ...

  3. 用 Flask 来写个轻博客 (2) — Hello World!

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 实现最简单的 Flask 应用 创建 config.py 文 ...

  4. 1. USB协议

    1.1 Packets USB总线上数据传输以包为基本单位,一个包含不同的域,但都要从同步域开始,然后跟踪一个包标识符PID(Packet Identifier),最终以包结束符EOP(End of ...

  5. Windows的安全模型

    1. 安全身份 Windows的安全模型是以用户为线索的,用户的身份是在登录系统时验证的. 除了用户外,还可以有一些特殊实体需要拥有安全的身份,以便进行验证,比如groups, domain等等. W ...

  6. Linux的初始页表

    LOWMEM,是相对于HIGHMEM而言,其实就是内核态直接映射的物理内存空间的大小,一般为896MB. 这里只是粗略地估计了一下,取1GB. LOWMEM_PAGES代表了LOWMEM区域对应了多少 ...

  7. Apache Flink:详细入门

    Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时(Flink Runtime),提供支持流处理和批处理两种类型应用的功能.现有的开源计算 ...

  8. strcmp 和 strcoll的区别

    功能和strcmp类似,用法也一样.   特别注意:strcoll()会依环境变量LC_COLLATE所指定的文字排列次序来比较s1和s2 字符串.   strcmp是根据ASCII来比较2个串的.  ...

  9. python的magic methods

    https://pycoders-weekly-chinese.readthedocs.io/en/latest/issue6/a-guide-to-pythons-magic-methods.htm ...

  10. 文件 IO

    io分类 在文件IO 中是通过文件描述符操作文件的,实际上是一个非负整数 头文件   #include <sys/types.h>   #include <sys/stat.h> ...