【送给Git初学者】

好多人都听过Git吧,目前最流行的分布式版本管理系统。还有好多类似的cvs、svn(速度慢、必须联网,这些是集中式版本控制系统).....

那么,它是用来干什么的呢?举个例子可能更好理解吧!

比如你写了一篇博客,然后发表了。过了几天后,你发现博客的某些内容需要更改,得重新编辑,但是你并不想把原来的内容丢弃,以防以后会用。每修改一次,就编写一篇博客,那么时间长了,这时,就有一大堆的相当于副本类的博客,这样也不好管理,每次找都得打开内容才知道你想要的是哪篇博客。

Git的好处就是可以记录你每次的修改情况,这样就不用自己管理一堆类似的文件了。

下面来介绍一下Git的使用:

起初,Git是在linux下开发的,它也只能在linux和unix上跑。后来,人们把它移植到windows上,现在可以在linux、unix、windows、Mac这几个平台上运行喽。

首先,要想使用Git,肯定得知道如何安装Git吧吐舌头~

我是在Linux(我的是Centos6.5的哦)上安装的Git

先输入git命令看你的linux系统是否安装了Git:


说明没有安装git,这时你输入命令:



这样安装下来的版本是1.7.1,可以用命令: git --version查看版本号哦。由于1.7.1的版本有点老,github上上传代码需要使用更高的版本,这时:我们可以在Git官网上下载支持github的版本,以下是我在官网上找的,大家可以直接将如下命令输入即可。


安装好之后。我们来创建版本库(也叫仓库),这个仓库里边的文件你就可以用git来管理啦。

1.首先在linux上创建一个目录,用于学习git:


2.使learngit这个目录变为git可以管理的仓库(即初始化一个git仓库):


这时,就把仓库建好了,并且说明了是一个empty Git respository(空的仓库),可以用命令ls -ah显示出一个.git目录存在。


3.添加文件到git仓库,比如你创建了一个readme.txt文件:


输入命令后,会出现下面的东东:


我们用命令git status看一下状态,


另外,如果是在windows下,直接在网上下载一个git包,安装好。

然后在开始界面找到git,打开git bash。就可以进行下面的内容了。

下面我们来讲讲如何对远程仓库管理呢?

因为目前我们没有将git和github之间连接,且它们之间的传输是由ssh加密的,这时需要一些简单的配置:

1.创建ssh-key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件(这两个文件是ssh key的密钥对,id_rsa是私钥,不可以泄漏。id_rsa.pub是公钥,可以对其他人开放)。如果没有的话应输入命令:


然后就一路回车就ok。

2.登陆github(注册好账号),打开“Setting”页面,选择“SSH and GPG keys”;

3.点击“new SSH key”,填写“Title”,在key里边粘贴刚刚.ssh目录下的id_rsa.pub里边的内容。

步骤如下:


有人会想,ssh是用来干什么的呢,它是来帮助你确认你在github上提交的数据确实是你推送的,所以只要知道了你的公钥就ok啦。有些github上可能有多个key,这也就可以使你在多台电脑上提交你的文件啦,还是挺人性化的哈微笑微笑~~在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。这样,我们就可以进行远程仓库的学习啦。好开森哈哈


先介绍到这里,下节再谈谈如何用git管理仓库哦。

希望计算机爱好者可以互相学习,有见解可以提出来哦。欢迎来访~~





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

远程仓库

上节我们安装好了git,并配置好git,github之间的ssh。这节我们就开始用git管理我们的仓库吧。(这节在windows下安装的git bash上给大家演示吧) 首先,创建好一个仓库,主要步骤如下: 创建好仓库后…

linux根目录的意义和内容

1.du命令:du [选项] 文件     (1)功能该命令是显示指定文件以及下的所有文件占用系统数据块的情况,如果没有文件,默认为是当前工作目录     -a    显示所有文件对系统数据块的使用情况     -b    显示数据块大小时以字节…

c++详解【智能指针】

智能指针?是一个指针吗?这里给大家说的是,它不是一个指针,但它模拟了指针所具有的功能。那么,为什么要有智能指针的引入呢?看看下面的例子吧~ void FunTest() {int *p new int[10];FILE *pFile fopen(&qu…

c++【深度剖析shared_ptr】

shared_ptr解决了scoped_ptr管理单个对象的缺陷,且解决了防拷贝的问题。shared_ptr可以管理多个对象,并且实现了资源共享。 但是仍然存在一些问题,比如,我们熟悉的双向链表: struct Node { Node(const int& value…

c++详解【new和delete】

说起new和delete,了解过c的人应该都知道吧,它是用来分配内存和释放内存的两个操作符。与c语言中的malloc和free类似。 c语言中使用malloc/calloc/realloc/free进行动态内存分配,malloc/calloc/realloc用来在堆上分配空间,free将申…

Stack/Queue与Vector/List的联系

Vector:(顺序表【数组存储】) 1.当申请的空间不足的时候,需要再次开辟一块更大的空间,并把值拷过去。 2.对于尾删和尾插是比较方便的,只需要改动最后一个元素即可。不会改动原有的空间。适用于多次重复的对尾部插删。 3.顺序存储&#xff…

用栈实现后缀表达式求解问题

一、问题概述: 人们经常书写的数学表达式属于中缀表达式,今天要解决的是,后缀表达式的求解问题。 如下图分别为举例的中缀表达式和后缀表达式: 二、解决思路 我们用栈存储后缀表达式中的数据部分,当遇到操作符时就取…

用栈和递归求解迷宫问题

一、问题概述 小时候,我们都玩过走迷宫的游戏吧。看一下这个图例: 遇到这种问题时,我们第一反应都会先找到迷宫的入口点,然后对上下左右四个方向进行寻迹, 检测当前位置是否是通路,是否可以通过&#xff0…

【c语言】棋盘游戏--三子棋

一、问题概述 大家都玩过棋盘游戏吧,像五子棋一样,玩家或者是电脑一人下一次,当玩家或者是电脑的某一方先将各自的五个棋子下成一条线时,谁就赢,棋盘游戏就会结束。 当然,我今天要介绍的是三子棋&#xff…

[数据结构]求解迷宫最短路径问题

一、问题概述 之前,我们了解了如何实现迷宫问题(对于迷宫只有一个出口可以通的情况),事实上我们的迷宫有多个出口,对于每条路径来说,有长有短,所以在这里,我们讨论一下迷宫的最短路…

[STL]List的实现

STL(Standard template Library):c的标准模板库 STL是算法和数据结构的软件框架,它包含了六大组件:算法、迭代器、容器、仿函数、配接器、空间配置器。 迭代器:我们可以把迭代器相当于智能指针,&#xff0…

vc++6.0的应用程序打不开肿么办

今天早起,有同学问到我关于vc6.0的安装过程中遇到的问题,我听了之后想想还是写篇博客给大家看一下吧。因为我之前也遇到过类似的问题。当时也是挺着急的。 大家遇到的问题估计就是这样吧~~(下载后打不开) 请看-->解决步骤&…

【数据结构】广义表

一、问题概述 广义表是非线性的数据结构,是由若干个元素组合而成的,广义表中可以有子表,类似这样的: 我们以C(a,b,(c,d))为例,将它定义为这样的数据结构: 我们会给定字符串的形式,如&#xff…

【数据结构】普通二叉树的实现

一、问题概述 树是n个有限个数据的集合,形如: 它像不像倒着的树呢?我们把它看成是一种数据结构----树。它的第一个节点称作树的根,最底下的那些节点称作树的叶子。 我们今天所要研究的是二叉树,即父节点最多只有两个孩…

setitimer用法说明

函数原型&#xff1a; int setitimer(int which, const struct itimerval *new_value,struct itimerval *old_value) 函数作用&#xff1a; 可用来实现延时和定时的功能 头文件&#xff1a; #include <sys/time.h> 参数详解 用一把&#xff1a;一个例子 #include &…

哈希表(闭散列、拉链法--哈希桶)

哈希表&#xff0c;也称散列表&#xff0c;是一种通过key值来直接访问在内存中的存储的数据结构。它通过一个关键值的函数&#xff08;被称为散列函数&#xff09;将所需的数据映射到表中的位置来访问数据。 关于哈希表&#xff0c;主要为以下几个方面&#xff1a; 一、哈希表…

僵尸进程的产生和SIGCHLD信号

核心句子 子进程在终止时会给父进程发SIGCHLD信号,该信号的默认处理动作是忽略,父进程可以自 定义SIGCHLD信号的处理函数。 僵尸进程的产生&#xff1a; #include "head.h" #include <unistd.h> #include <signal.h>int main() {key_t key ftok(&quo…

海量数据处理--位图(BitMap)

对于海量数据这个词&#xff0c;大家不难理解吧。主要是针对给定的数据量特别大&#xff0c;占用内存特别大的情况。那么和位图有什么关系呢。看下面一个腾讯的海量数据的例子吧。 例&#xff1a;给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0…

ps命令与top命令参数意义详解

文章目录1.ps -l2.ps aux3.top面试经常被问道&#xff0c;特别是top。1.ps -l 参数解释F代表这个程序旗标 (process flags)&#xff0c;说明这个程序的总结权限&#xff0c;常见号码有&#xff1a;o 若为 4 表示此程序的权限为 root &#xff1b;o 若为 1 则表示此子程序仅进行…

哈希拓展--布隆过滤器

一、问题概述 布隆过滤器是由布隆提出来的&#xff0c;是由一个很长的二进制序列和一系列的映射函数组成。主要用于检测一个元素是否在一个集合中。当然在设计计算机软件时&#xff0c;我们也经常会判断一个元素是否在一个集合中。比如&#xff1a;在字处理软件中&#xff0c;…