Git学习(一)

作者: InnocenceYWQ | 来源:发表于2018-08-17 20:24 被阅读27次

Git&GitHub

Git是一款免费、开源的分布式版本控制系统。

Github是用Git做版本控制的代码托管平台。也就表示这样的代码托管平台可以有很多个,git和github不是一一对应关系。比如,听说过的还有“码云”,等等。

Git是分布式版本控制系统,就是将同一个Git仓库,分布到不同的电脑上。这样工作时就必须找一台电脑充当服务器仓库的角色,每天24小时开机,其他每个人都从这个服务器仓库中拉取别人的提交,并且各自把各自的提交推送到这个服务器仓库里。但这是很不方便的,如果有个远程的免费的仓库可以使用才是最好的。

GitHub就是提供Git仓库托管服务的,只要注册一个GitHub账号,就可以免费获得Git远程仓库。也就是有了这个远程仓库之后,一起合作的小伙伴拉取或是提交都是面对这个远程仓库就可以了。


什么是Git

Git是目前世界上最先进的分布式版本控制系统(没有之一)。

什么契机下,产生的版本控制系统:

  • 如果几个同事一起合作编辑一个文件,如果全靠人工的话,就需要保留每个时期,每个人的版本,以便之后查看,修改。还得整理出包含每个改动的最终版,这个最终版只要有人改动,就得找到那个改动的地方,然后更新。总之,整个过程是非常耗费时间和人力的。
    由此需要,产生了版本管理系统,它可以自动帮我们记录每次文件的改动,还可以让同事协作编辑,也不用自己管理一堆类似的文件,也不需要把文件传来传去。
  • 知道了版本控制系统,那什么是分布式呢?
    与分布式对应的是集中式。
    集中式就是将整个文件统一放在特定服务器上,工作的时候先要从这个服务器上获取到最新版本,然后再进行自己的编辑修改,完了再提交到此服务器上。所以如果没有网络,就没法工作了。
  • 分布式是每个人电脑上都有完整版本,没有网络也可以工作,可以同事之间交换修改部分,也可以统一设立中央服务器,然后得到每个人修改的记录。
    先简单这样有个概念,之后再自己实验。

如何安装Git

服务器端

1.先从yum安装git

yum -y install git

2.在需要的位置创建一个裸仓库(最后以.git结尾)

cd /usr/local
mkdir git
cd git
git init 

3.创建一个git用户并赋予密码

useradd git
passwd git

4.赋予git用户权限

chown -R git:git  learngit.git

5.禁用git用户shell登录(一定要禁用)

vi /etc/passwd

将git用户修改为如下(一般在最后一行)

git:x:1000:1000::/home/git:/usr/bin/git-shell

其他的不用改。服务端完成。


客户端

我使用的客户端为git for windows

  • 1.安装,双击下一步,直到完成。

  • 2.进入想要将项目放置的目录

  • 3.创建用户

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
  • 4.创建秘钥(用来防止每次commit或push都需要密码)
ssh-keygen -t rsa -C "你的邮箱"
  一直回车....
  • 5.将秘钥加入服务器列表

  • 5.1 取得公钥(本地)

在当前目录下(若未改变目录,到C:\Users\Administrator.ssh\id_rsa.pub)找到.ssh目录下的id_rsa.pub文件,打开,复制其中内容.

  • 5.2 将公钥加入服务器列表(服务器)
    CentOS 7默认列表在/root/.ssh/authorized_keys,使用vi 编辑此文件输入刚才复制的内容,保存退出。
vi /root/.ssh/authorized_keys
    //i修改
    //esc后输入:wq保存退出
  • 5.3 可以跳过此步,若克隆远程项目多次仍然需要密码,则检查上一步是否有错误,没有错误后,再配置这一步(服务器)

在/home目录下创建.ssh目录,进入,创建authorized_keys文件

cd /home
mkdir .ssh
cd .ssh
vi authorized_keys
加入我们的公钥后保存退出。
    1. 克隆项目
git clone git@101.101.101.101:/usr/local/git/learngit.git

到此,就成功的从服务器上克隆下我们所需要的项目。

相关文章

  • Git+node.js+TDD

    目录 Git学习 node.js学习 用Nodejs和Git完成TDD编程 Git学习 Git是什么Git是一款免...

  • Git 学习笔记

    ----------------- Git 学习 ------------------ Git 简介 Git...

  • git 入门

    git 入门学习笔记----3个入门命令:git init、git add、git commit -v 学习场景(...

  • git资源学习

    git资源学习 Git详解之一 Git起步 Git详解之二 Git基础 Git详解之三 Git分支 Git详解之四...

  • git技术,GitHub、GitLab

    git学习 Git教程(小白快速入门版) Git教程(简化版) git详细学习 Gitlab的管理使用手册git初...

  • Git概述

    在我们学习Git之前 我们首先了解一下Git是什么 为什么要学习Git 什么是Git? [图片上传失败...(i...

  • Git学习(一)

    Git&GitHub Git是一款免费、开源的分布式版本控制系统。 Github是用Git做版本控制的代码托管平台...

  • git 学习(一)

    git 学习之路 从第一份工作的单人工作模式,到第二份工作刚开始使用SVN(大致只用了一个多月),后来公司改用gi...

  • 学习Git(一)

    本人从事iOS工作,所以我学习Git是在Mac的环境下。Git的安装就不多说了,本人也是初次学习,如有不对还请指出...

  • Git常用命令与学习总结

    安装Git Git的下载地址:Git官网下载地址 学习网址 git 学习笔记- Book 在线练习地址 基础常用指...

网友评论

    本文标题:Git学习(一)

    本文链接:https://www.haomeiwen.com/subject/chgtiftx.html