Git--GitHub/gitee

本文详细介绍了Git的基本概念、与SVN的区别,包括基本使用、分支管理(如创建、切换、合并和tag)、GitHub和Gitee的远程仓库操作,以及如何使用gitignore忽略文件和Docusaurus快速部署静态网页。
摘要由CSDN通过智能技术生成


一、git是什么?

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
在这里插入图片描述

1. git和svn的区别

SVN是集中式版本控制系统,版本库是集中放在中央服务器的而 工作的时候.用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。

Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库 ,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A ,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

Git是目前世界上最先进的分布式版本控制系统。

二、git的基本使用

git下载地址: http://git-scm.com/downloads
安装成功打开cmd必须配置的两个git(只用配置一次):
git config --global user.name "wangpiaopiao"
git config --global user.email "2934804917@qq.com"
查看相关配置:git config --list

1. git的基本操作

  • 初始化仓库:git init (创建成功如果文件未显示是因为被隐藏,可以设置显示)
  • 添加文件到暂存区:git add index.html
    可以添加多个文件:git add index.html a.html
    添加所有文件:git add . (添加所有为txt的文件:git add *.txt )
  • 将暂存区内容添加到仓库中:git commit -m "第一次写入"(-m “第一次写入” 表示注释)
  • 查看当前的文件状态:git status
  • 恢复到上一次提交仓库的代码:git restore index.html
  • 删除文件:git rm a.txt (如果文件是修改modified状态删除会报错)
    强制删除:git rm a.txt -f (文件是修改modified状态会被强制删除)
  • 取消暂存状态:git restore --staged b.txt
  • 重命名文件:git mv a.txt a1.txt

2. git图形化安装工具

git工具

三、Git 分支管理

在这里插入图片描述

1. 分支的基本命令

  • 查看当前分支:git branch
  • 创建新的分支:git branch test
  • 切换分支:git switch test --推荐
    第二个写法:git checkout test
  • 创建并切换分支:git switch -c text1
  • 第二个写法:git checkout -b test
  • 删除分支:git branch -d test
  • 查看历史记录:git log(Q键取消)
    简洁版历史记录:git log --oneline

在开发中,我们拿到源码首先新建一个分支,在自己的分支上去修改功能。编写完成后,再把自己的分支合并到主分支中。

  • 合并分支:git merge update
  • 回滚代码:git reset --hard a48799306e42a

2. tag标签

可以为提交的节点设置标签,可以通过标签快速定位到不同的开发节点:git tag v1.0 commit的id号
可以直接用tag名推送:git push origin v1.0
删除本地的标签:git tag -d v1.0
删除远程服务器的标签:git push origin --delete v1.0

四、远程仓库

快捷键:在项目文件夹的cmd命令输入 code .可以直接打开vscode工具
上传库有:GitHub 和 gitee

1. GitHub

GitHub是国外的远程仓库,速度很慢。是大部分人会选择的免费开源仓库。

1. github 的静态页面

在GitHub中,可以将自己的静态页面部署到GitHub中,它会给我们提供一个地址使得我们的页面变成一个真正的网站,可以供用户访问。
要求:

  • 静态页面的分支必须叫做:gh-pages
  • 如果希望页面可以通过xxx.github.io直接访问,可以创建的项目名直接用xxx.github.io的格式。

2. Gitee (常用)

gitee是国内的远程仓库,速度很快。

1. 克隆代码

  1. 先复制SSH里的代码
    在这里插入图片描述
  2. 打开文件夹 cmd 命令:git clone SSH代码
    在这里插入图片描述

2. 提交代码

拉取远程仓库的两个方法:
git pull:拉取远程仓库最新的内容,如果远程仓库修改的内容和本地没有冲突,就会成功合并。 如果合并冲突,就会失败,需要手动合并
git fetch: 只是获取远程仓库的修改内容,但不会帮我们合并到本地仓库中,需要自己手动合并

  1. 在gitee创建一个空的仓库
  2. 连接远程仓库时:git init
  3. 添加文件:git add .
  4. 把代码直接复制建立连接
    在这里插入图片描述
  5. 刷新会生成你提交的代码
  6. 继续提交分支代码
    在这里插入图片描述

注意:推送代码之前,防止有其他人也修改了当前代码,一定要先从远程库中拉取最新的代码git pull

报错:
1.error:

error: remote origin already exists.

输入 git remote rm origin 清空仓库地址
2.

fatal: Custom certificate bundle not found at path: D:/鏉烆垯娆?Git/....

出现这种问题是我们仓库地址选择错了,应该采用SSH地址,不应该使用HTTPS地址,将仓库地址改为SSH格式就可以了
3.

error: src refspec master does not match any 
error: failed to push some refs to ...

是由于仓库名称不一样,导致远程和本地的仓库不能关联上,统一远程和本地的仓库名称即可
1、把本地的 master 仓库名称修改为远端的 main
git push -u origin main

3. 代码合并冲突

冲突场景:本地有修改代码,远程仓库同时有更新相同的文件,但本地未拉下来,这时本地想要提交代码。
步骤:本地先暂存提交->拉取->有问题则解决冲突->推送;

  1. 远程仓库有更新的文件,本地未拉取过。
  2. 本地此时也在更改相应的文件
  3. 本地先暂存提交->拉取->会出现冲突
  4. 选择接受远程代码还是接受本地代码,或者两者都接受,然后保存并接收合并。
  5. 再重新拉取->推送,即可将代码提交到远程仓库。
    冲突问题

4. gitignore忽略文件

忽略掉某个文件,不让这个文件提交到版本库中。
典型的 node_modules/ 文件夹
创建文件:.gitignore

  1. 以”#”号开头表示注释;
  2. 以斜杠“/”开头表示目录;
  3. 以星号“*”通配多个字符;
  4. 以问号“?”通配单个字符
  5. 以方括号“[]”包含单个字符的匹配列表;
  6. 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
    在这里插入图片描述

3. docusaurus 快速部署网页

docusaurus是Facebook推出的开源的静态内容管理系统,通过它可以快速的部署一个静态网站。
网址:https://docusaurus.io/
使用:

  • 安装:npx create-docusaurus@latest my-website classic(桌面会生成一个my-website的文件夹)
  • 启动项目:npm start
  • 安装依赖:npm i
  • 构建打包文件:npm run build
    在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值