Git (开源分布式版本控制系统)

Git

Git 介绍

简介:

是一个版本控制工具

区分:GitHub是一个网站,可以上传代码

版本控制:

    记录若干文件内容变化,以便将来查看特定版本修订情况的系统,简言之就是备份和记录。

1.本地 版本控制系统
2.集中式 版本控制系统

版本库 ---- 中央服务器

所有计算机都是先获取最新版本,再工作,再推送给中央服务器。

必须联网且速度慢 中央服务器一旦崩溃则无法工作

3.分布式 版本控制系统

每台计算机都有完整版本库 更安全 互相之间只交换修改的内容

Git历史

    linux创始人Linus为应对BitMover公司回收BitKeeper 花了2周时间自己用C语言写的一个分布式版本控制系统

Git的优势

    1.直接记录快照,而非差异比较
        不像其他系统只关心文件具体内容的差异
        Git只关心数据整体是否发生变化

    2.近乎所有操作都是本地执行
        差不多所有数据只需访问本地,速度飞快

    3.时刻保持数据完整性
        保持Git之前所有数据会进行内容的校验和(checksum)计算,并将此结果作为数据的唯一标识和索引。即是任何变化Git都能立即察觉。

    4.多数操作仅添加数据
        常用的Git操作大多是将数据添加到数据库。
(不可逆操作会使恢复历史版本变得困难)

Git仓库和分支的概念

Git安装

Linux安装

Windows安装



Git常用命令 ★

Git常见操作指令

打开Git Bash
可以先打开GitBash再进入指定文件夹
或直接在目标位置右键打开GitBash

cd: 切换目录,比如 cd e: 切换到 e 盘
cd …/
cd ll 目录遍历(详细)
cd ls 目录遍历
mkdir: 创建一个文件夹
pwd: 查看当前目录 (路径)
tab 自动补全
clear 清空屏幕
~:表示当前位置为用户的目录

一. 创建版本库

git init: 初始化一个本地库(隐藏的lib)
$ git config --global user.name "name": 设置用户名
$ git config --global user.email "email@example.com": 设置邮箱

设置用户名和邮箱只需做一次,用户名和邮箱就是GItHub网站注册的用户名和邮箱
在这里插入图片描述
在这里插入图片描述
安装了TortoiseGit会有git的标识
在这里插入图片描述

二. 基本文件操作

git add 文件名: 添加文件到缓存区 ★
git commit 文件名 -m '注释': 提交文件到分支,-m 添加说明(即是注释) ★

注意:每次提交文件都需要先添加文件(先add 再commit) 注释比较重要需要添加 若忘记加-m则会进入vi编辑器模式(类似Linux系统 直接:wq退出即可)

git status: 查看文件是否有修改 (确认)
git diff: 对比文件修改内容
git log: 查看提交历史
git reset --hard HEAD^: 回到上一个版本(^个数代表跳跃版本数)
git reset --hard xxx: 回到指定版本,版本号可以不写全(历史版本里会看到随机生成的版本号)
git reflog: 查看历史提交版本(全)(能看到提交 重置操作)
git rm: 删除版本库文件
rm: 删除本地文件
ls: 查看文件目录

git add 和 git commit 示例:
创建一个测试用的文件git_test.txt
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
git status 示例:
在这里插入图片描述
git diff 示例:
在这里插入图片描述


创建远程版本库★

1.创建SSH Key

$ ssh-keygen -t rsa -C "邮箱地址"
在这里插入图片描述
一路回车(Enter)
在这里插入图片描述
在用户主目录里找到.ssh 目录,里面有 id_rsa(私钥) 和 id_rsa.pub(公钥)
在这里插入图片描述

2.完成创建SSH keys

进入你的GitHub
右上角 setting
SSH and GPG keys

在这里插入图片描述
New SSH Key
起好标题
将公钥id_rsa.pub里的数据复制过来
在这里插入图片描述
点击确定
在这里插入图片描述

3.验证是否成功

ssh -T git@github.com
在这里插入图片描述
验证成功
如果这里失败的话不是秘钥有问题就是账户名和邮箱有问题

4.在github上创建一个版本库

     因为之前本地上的库名是git01,我们也命名为git01,如果已经有了,建议删除。
在Repository里点击+
或右上角的+里点击Create a new repository
在这里插入图片描述
一般需要添加描述
在这里插入图片描述
github已经给出连接的提示了
已经完成前3步 接着完成后两步骤(直接复制)
git remote add origin https://github.com/dingjiandashen/git01.git

git push -u origin master

在这里插入图片描述

需要输入用户名 和 用户密码
在这里插入图片描述
在这里插入图片描述
100% 成功

刷新github网页 能够看到我们之前上传的文件
在这里插入图片描述
文件中的内容
在这里插入图片描述
我们测试一下上传修改文件
修改文件内容为

111
222

在这里插入图片描述
添加add 提交commit
git push origin master推送
这次不需要 -u参数

我们查看下结果
在这里插入图片描述

分支管理

1、创建 dev 分支,切换到 dev 分支
git checkout -b dev

(git checkout 命令加上-b 参数表示创建并切换,相当于以下两条命令:
git branch dev创建dev分支
git checkout dev切换到dev分支
)
在这里插入图片描述
新分支dev里的操作不会影响master

2、查看当前分支
git branch

* devmaster

3、修改 git_test.txt,add、commit

在这里插入图片描述

4、切换回 master
git checkout master

切换回master分支
在这里插入图片描述
查看文件
在这里插入图片描述

5、合并分支
git merge dev

当前分支与dev分支合并
在这里插入图片描述
查看文件
在这里插入图片描述
一般都是做好分支的功能之后,检查确定好之后才进行分支的合并

6、删除分支
git branch -d dev

删除dev分支
注意不要在自己位置删除
在这里插入图片描述

7、解决冲突

先创建两个分支dev01和dev02
在dev01分支添加数据
在这里插入图片描述
在这里插入图片描述
添加 提交 合并
在这里插入图片描述
在这里插入图片描述
切换到dev02分支修改文件数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里会有正在合并的标记
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改数据
在这里插入图片描述

★找到冲突文件,去掉<<<<< =====
★自己决定留下那些文件

git add 冲突文件名字
git commit -m ‘注释’
这里需要将修改后的文件先添加再提交
这里不写提交文件名代表提交所有文件
在这里插入图片描述

结果示意:
在这里插入图片描述
在这里插入图片描述


克隆和fork

clone

示例:
在github上搜索jquary 点击All Github
在这里插入图片描述
选择一个点击
在这里插入图片描述
这里只是Download ZIP的话就只是将文件下载下来(并不是下载版本库)

以之前的git01版本库为例
只下载的话就是一个压缩包
在这里插入图片描述
在这里插入图片描述
可以克隆
复制网址或点击右边下载
在这里插入图片描述
接着找一个指定位置 右键 git base here
git clone 网址
在这里插入图片描述

在这里插入图片描述
拉取版本库到本地

测试一下上传文件
在这里插入图片描述
添加 提交 推送
在这里插入图片描述

在这里插入图片描述

fork

相当于做标记 类似于我们的网页收藏夹
在github中选中别人的项目文件,点击fork,会在左边生成一个链接
在这里插入图片描述

TortoiseGit

可以直接有工具代替上面的Git操作

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值