【week2】git学习

一、Git简介

1、Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
2、Git与SVN区别
区别GitSVN
核心区别是分布式的其他都是集中式的
数据存储方式Git 把内容按元数据方式存储SVN 是按文件,所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里 。在 Subversion 中,版本库的数据存储有两种方式,一种是在 Berkeley DB 数据库中存放数据;另一种是使用普通文件,采用自定义的格式来储存,称为 FSFS。
分支区别分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录分支其实就是 trunk 版(主干线)的一个copy版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的
版本号Git 没有一个全局的版本号SVN 有全局的版本号
内容完整性Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。Git 的内容完整性要优于 SVN

二、Git安装配置及工作流程

1、Ubuntu 下git 安装: apt-get install git
2、Ubuntu 下git 配置:

$ git config --global user.name "smileofyue"
$ git config --global user.email ymx@163.com

3、查看配置信息:
命令:git config --list
在这里插入图片描述
4、Git 工作流程:
一般工作流程如下:

  • 克隆 Git 资源作为工作目录。
  • 在克隆的资源上添加或修改文件。
  • 如果其他人修改了,你可以更新资源。
  • 在提交前查看修改。
  • 提交修改。
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

5、 Git 工作区、暂存区和版本库:

  • 工作区:就是你在电脑里能看到的目录。
  • 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

三、Git基本操作

1、Git创建仓库
创建仓库命令:git init
查看仓库状态:git status
忘记切换目录 直接在家目录创建了,故删除本地仓库,重新创建。(记得切换目录啊)
删除本地仓库:先找到目录下隐藏的 .git 命令:ls -a
在删除 .git 命令:rm -rf .git
ls -a 查看已经删除了
在这里插入图片描述
在这里插入图片描述
切换目录:cd gitread 然后重新初始化本地仓库
在这里插入图片描述
2、Git基本操作
(1)创建仓库命令:

  • git init 初始化仓库
  • git clone 拷贝一份远程仓库,也就是下载一个项目

①从本地仓库克隆一个裸仓库:git clone --bare 绝对路径 (这个仓库也可以作为远程仓库)
在这里插入图片描述
在这里插入图片描述

(2)提交与修改:

  • git add 添加文件到仓库
  • git status 查看仓库当前的状态,显示有变更的文件
  • git diff 比较文件的不同,即暂存区和工作区的差异
  • git commit 提交暂存区到本地仓库 git commit -m "提交说明“
  • git reset 回退版本
  • git rm 删除工作区文件
  • git mv 移动或重命名工作区文件
    在这里插入图片描述
    在这里插入图片描述
    这里连接一个远程仓库 ,连接我的 github仓库。
    在这里插入图片描述

(3)提交日志:

  • git log 查看历史提交记录
  • git blame <file> 以列表形式查看指定文件的历史修改记录

(4)远程操作:

  • git remote 远程仓库操作
  • git fetch 从远程获取代码库
  • git pull 下载远程代码并合并
  • git push 上传远程代码并合并

①连接远程GitHub仓库:(新添加)
git remote add origin git@github.com:smileofyue/gitread.git
使用ssh协议,如果连接的远程仓库不是我自己的话,用https协议只能读取不能写入,如果用ssh协议则不存在这种问题
ssh协议:git@github.com:smileofyue/gitread.git
https协议:https://github.com/smileofyue/gitread.git
git remote -v 显示所有远程仓库
git remote rm name 删除远程仓库
git remote rename old_name new_name 修改仓库名
提交到 Github:git push -u origin master
在这里插入图片描述
在这里插入图片描述
git pull 命令用于从远程获取代码并合并本地的版本。

git pull <远程主机名> <远程分支名>:<本地分支名>

在这里插入图片描述
3、Git分支管理

  • git branch (branchname) 创建分支
  • git checkout (branchname) 切换分支
  • git merge 合并分支
  • git branch 查看分支
  • git branch -d (branchname) 删除分支
  • git merge --abort 取消合并
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

4、Git查看提交历史

  • git log 查看历史提交记录
  • git blame <file> 以列表形式查看指定文件的历史修改记录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值