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. Golang(Go语言)内置函数之copy用法

    该函数主要是切片(slice)的拷贝,不支持数组 将第二个slice里的元素拷贝到第一个slice里,拷贝的长度为两个slice中长度较小的长度值 示例: s := []int{1,2,3} fmt. ...

  2. [转] Linux下编写脚本实现Daemon

    在Linux(以Redhat Linux Enterprise Edition 5.3为例)下,有时需要编写Service.Service也是程序,一般随系统启动用户不干预就不退出的程序,可以称为Se ...

  3. PE代码段中的数据

    PE代码段中可能包含一些数据,比如 optional header中的data directory会索引到一些数据,比如import/export table等等: 还有一些jump table/sw ...

  4. 从pcap文件中分析出数据包

    import dpkt import struct import sys,os f=file(sys.argv[1],"rb") pcap=dpkt.pcap.Reader(f) ...

  5. Linux内核代码布局

    上文参考:http://www.cnblogs.com/long123king/p/3545991.html 先分析一下linker script的语法. #ifdef CONFIG_X86_32#d ...

  6. 利用OpenFileDialog 获取图片存储到数据库中

    private void button1_Click(object sender, EventArgs e)        {            string fName;            ...

  7. xshell6 远程连接时提示 WARNING! The remote SSH server rejected X11 forwarding request.

    1.输入命令 vi /etc/ssh/sshd_config ,修改配置文件 2.将UserLogin no 的注释解除   3.执行yum install -y xorg-x11-font xorg ...

  8. Java架构师必看的10本书

    1.大型网站系统与JAVA中间件实践 本书围绕大型网站和支撑大型网站架构的Java中间件的实践展开介绍. 从分布式系统的知识切入,让读者对分布式系统有基本的了解:然后介绍大型网站随着数据量.访问量增长 ...

  9. Python 变量作用域 LEGB (下)—— Enclosing function locals

    上篇:Python 变量作用域 LEGB (上)—— Local,Global,Builtin https://www.cnblogs.com/yvivid/p/python_LEGB_1.html ...

  10. Pandaria(Kruskal重构树+线段树合并)

    题意 是 有n个花园 一个花园内所有的花的颜色都是一样的 有很多种不同的颜色  花园到花园之间有路,走不同的路有不同的代价   如果选一个点作为起点 只走小于等于w的路  可以经过的这些花园里  那种 ...