【送给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,一经查实,立即删除!

相关文章

虚拟机中的Linux安装VMware Tools的方法

虚拟机中的Linux安装VMware Tools的方法 http://www.jb51.net/softjc/189144.html 当.pl文件无法执行时 chmod install-vmware.pl./ install-vmware.pl 安装就可。 先以root身份登入。 VMware Tools所在位置:VMware 安装路径 \VMware\VMware Workstation\linux…

appium 设置参数

appium 配置好环境变量以后, 需要设置启动参数, 设备名称, 应用的一些信息主要有以下信息: {"platformName": "Android","platformVersion": "5.1.1","deviceName": "ee…

远程仓库

上节我们安装好了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…

python 使用 os的 popen(‘命令’) 如果命令行输出中 有中文乱码, 提示 'gbk' 无法解析的错误 解决办法

os.chdir(‘你的命令’) res os.popen(v.testcomman)print(tempstream.buffer.read().decode(encodingutf-8))

node.js async await 配合Promise对象使用

function getData(){return new Promise(function(resolve, reject){setTimeout(function(){var uname zhang;console.log(this is timeout);resolve(uname);}, 1000);}); } //await 配合 promiese 的 resolve 使用 就会真的等待 同步 async function test(){console.log(1);v…

c++【深度剖析shared_ptr】

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

centos重新安装yum

1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的CentOS-Base.repo 到/etc/yum.repos.d/ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 3. yum makecache GDB的安装 yum…

Electron 渲染进程,如何解决require is not defined的问题

mainWindow new BrowserWindow({webPreferences: {nodeIntegration: true}}) // nodeIntegration: true 加上这一句 就可以了 5.0以后默认是false

c++详解【new和delete】

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

vim 的配置文件 #vim ~/.vimrc

set hlsearch set backspace2 set nu set showmode set ruler set autoindent syntax on set smartindent set tabstop4 set shiftwidth4 set expandtab imap { {}iV

关于tornado的异步耗时操作假设

tornado 如果遇到耗时的操作,可不可以这样 把耗时操作放在一个由 python进程池维护的 pool中, 用 webapi封装起来, 然后tornado 接收客户端请求后,遇到耗时操作就 与访问另一个webapi , webapi去调用进程池 这种模型不…

Stack/Queue与Vector/List的联系

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

利用SetConsoleTextAttribute函数设置控制台颜色

原文出处&#xff1a; https://blog.csdn.net/odaynot/article/details/7722240 混合颜色 #include <windows.h> #include <iostream> using namespace std;int main() {HANDLE hOut;hOut GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(hOut,FOREG…

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

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

SetConsoleCursorPosition光标的位置控制

SetConsoleCursorPosition是一个计算机函数&#xff0c;如果用户定义了 COORD pos&#xff0c;那么pos其实是一个结构体变量&#xff0c;其中X和Y是它的成员&#xff0c; 通过修改pos.X和pos.Y的值就可以实现光标的位置控制。 复制粘贴运行一下&#xff0c;你就明白代码什么意…

用栈和递归求解迷宫问题

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

exit(0) return区别

1. return是返回函数调用&#xff0c;如果返回的是main函数&#xff0c;则为退出程序。 exit是在调用处强行退出程序&#xff0c;运行一次程序就结束&#xff0c; 无论写在那里&#xff0c;都是程序推出&#xff0c;括号里的数字0,1,-1会被写入环境变量ERRORLEVEL&#xff0c…