GIT基础

版本控制系统

git分布式版本控制系统

  • git诞生

    • git是由Linus Torvalds(林纳斯),也就是Linux之父,为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件

    • 林纳斯 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper

  • 应用场景

    • 写论文或小说

    • 开发软件项目

    • 法律协议起草

  • 为什么要用版本控制系统?

    • 可撤销还原

    • 多人协作

    • 在线开源共享

svn集中式版本控制系统

  • 缺点:
  1. 必须联网才能工作
  2. 中央服务器出问题了,就没法工作
  3. 分支速度慢

git和svn的区别

  • 1.Git 是分布式的,SVN集中式
    2.Git 把内容按元数据方式存储,而 SVN 是按文件
    3.Git 分支和 SVN 的分支不同
    4.Git 没有一个全局的版本号,而 SVN 有
    5.Git 的内容完整性要优于 SVN

  • 集中式

  • 分布式

Git 与 GitHub 区别

    1. Git和Github是两个完全不同的概念
  1. Git是分布式版本控制系统
  2. GitHub是开源代码托管网站

git安装

官网下载安装

淘宝镜像下载安装

安装方式

  • 因为git是命令行工具,默认安装再C盘,不要装作含中文的目录下,建议一路下一步安装

验证安装成功

    1. win菜单 打开运行命令
    1. 打开 CMD 命名窗口
    1. 在命令行中输入 git –version 然后会打印出版本号
    1. 安装成功

git常见命令

git config

  • 配置用户名

    • git config –global user.name “Your Name”

    • 写好回车键执行

  • 配置邮箱

  • 修改默认编辑器

    • git config –global core.editor “编辑器的目标路径”

    • git config –global core.editor “C:/Windows/notepad.exe”

设置编辑器为记事本,写好回车键执行

- 如果你不配置编辑器,默认是VIM编辑器,该编辑器是LINUX自带编辑器,是需要打指令保存的

	- 当光标定位到 编辑器输入区域,此时可以输入版本描述信息(方便日后回退时查阅)

输入完毕,按ESC退出编辑状态,然后再下方底部输入:wq(表示退出并保存的意思)

git config –list

  • 查看所有的配置信息

git clone 克隆命令

git init

  • 创建(初始化)空仓库,由git接管,文件的改动(修改、删除)都能监测到

  • 例外情况:doc等办公文档可以监测到文件大小改变,无非监测到具体内容改变
    无法监测到二进制文件内部内容信息的改变,只能监测文件大小改变
    所以说git比较适合纯文本类文件版本控制

常见的二进制文件:

  1. 图片
  2. 视频
  3. 音频
  4. 办公文档(doc、xls)
  • git概念:Git 是一个开源的分布式版本控制系统
  • 工作区:正在编辑文件的目录,就是你的项目文件
  • 暂存盘:一个临时区域,用于存放你准备提交(commit)的文件变更。
  • 版本库:本地仓库,保存项目完整历史记录的地方,位于项目根目录下的 .git 文件夹中。
  • 远程仓库:托管在服务器上的 Git 仓库,如 GitHub、Gitee、GitLab 等平台上的项目仓库。

git add

  • 为什么要添加到暂存盘?

  • 添加到暂存盘

例如:
git add readme.txt

  • git add 添加多种文件
  1. git add readme.txt hello.txt 添加多个文件,效率低
  2. git add ./ 添加当前目录下所有文件
  3. git add -A 添加所有文件(包含文件夹的文件)

git commit -m “”

  • 提交一个版本

例如:
git commit -m “描述”

git log

  • 查看历史版本到当前版本的日志

git reflog

  • 查看所有历史版本信息

注意这里查看的是一个短的版本号,例如 da213db

提交一个版本的步骤

    1. 先看是否存在仓库,没有使用git init 创建仓库
  1. git add 添加到暂存盘
  2. git commit 提交一个版本

回退到上个版本

  • git reset –hard HEAD^

–hard 一种模式,表示完整恢复数据
HEAD 表示当前的
^ 回退一个版本,^^表示上一个的上个版本

回退到指定的版本

  • git reset –hard 版本号

版本号可以通过git reflog来查

git status

  • 查看状态

可以查看

  1. 那些文件被修改了?
  2. 增加了那些文件?
  3. 删除了那些文件?
  4. 是否有修改?(提交了版本之后)
  • 对于二进制类型文件,只能监测文件是否被修改,或者被删除,具体改了什么不清楚

比如doc文件、git只能知道它被修改了,不知道改了什么内容

除了doc还有mp4、jpg、gif等等非文本文件。

git diff

  • git diff [file]
    显示暂存区和工作区的差异

  • git diff –cached [file]
    或者
    git diff –staged [file]

显示暂存区和上一次提交(commit)的差异

linux下 清屏 用 clear

cmd 和powershell 用cls清屏

git show

  • git show命令是Git的一个强大命令,它用于显示Git仓库中的各种对象的详细信息。这些对象可以是提交、分支、标签、或者具体的文件。

git blame

  • git blame 是Git 命令,用于显示文件中每行代码的最后修改版本及作者信息,帮助追踪代码变更历史。

  • 运行 git blame <文件路径> 可显示指定文件的每行代码最后一次修改的提交信息(作者、时间、代码内容)。

  • 例如:git blame app.js

git stash

  • git stash是git中用于临时保存工作目录和暂存区未提交的修改的命令,允许用户切换到干净的工作区处理其他的任务,后续可以恢复这些修改

  • 保存修改,将所有未提交的更改存入栈,恢复工作区至最新状态。

  • 查看条目 git stash list 列出所有储藏条目(如stash@{0}为最新)

  • 恢复修改:git stash pop:应用并删除最新的储藏条目

git stash apply :应用指定条目但不删除

  • 删除条目:git stash drop 移除指定条目

  • 测试步骤

      1. git clone 远程仓库hello9-15
      1. 再本地工作区随便修改一下(注意不要添加暂存和保存版本)
      1. 然后再远程仓库手动修改一下1.txt文件,并提交一个版本
      1. 然后执行git pull拉起远程仓库的数据,发现报错了,拒绝拉起
      1. 此时使用git stash将工作区存储起来
      1. 然后再使用git pull拉去,这个时候允许拉去了
      1. 然后想起恢复刚才的内容,使用git stash list 查看,使用git stash pop恢复
      1. 手动解决冲突,git add -A
      1. 完成

撤销修改

工作区撤销修改

    1. 在工作区修改了文件
  1. 使用git status 查看那些文件被修改了
  2. 使用git checkout – 被恢复的文件

$ git status
$ git checkout – readme.txt
// 或者
git restore readme.txt

暂存盘撤销修改

    1. 在工作区修改了文件
  1. 将被修改了文件添加到暂存盘
  2. 使用git status查看那些文件被修改了
  3. 使用git reset HEAD 被恢复的文件
  4. 使用git checkout – 被恢复的文件

方法1

1
2
3
$ git status
$ git reset HEAD readme.txt
$ git checkout -- readme.txt

方法2

1
2
git restore --staged readme.txt
git restore readme.txt

注意:先修改一下文件,然后使用git add 将修改过后的文件添加到暂存盘,然后做上面的练习

版本回退

  • git reset –hard HEAD^ 回退上一个版本

  • git reset –hard 版本号
    可以使用git reflog 查看版本号

  • git revert
    通过用一次新的commit来回滚之前的commit

    • 操作步骤
  1. 初始化一个仓库,并且新建1.txt
  2. 在1.txt中输入111,提交版本1
  3. 在1.txt中输入222,提交版本2
  4. 执行git revert HEAD 撤销最后操作生成新的版本
  5. 也可以撤销指定的版本生成新版本
  • git revert 和 git reset的区别

    • git revert是用一次新的commit来回滚之前的commit,此次提交之前的commit都会被保留;

    • git reset是回到某次提交,提交及之前的commit都会被保留,但是此commit id之后的修改都会被删除

删除文件撤销

注意只要这个文件添加过一次版本,那么你将永远无非删除它。

    1. 在工作区永久性删除文件
  1. 使用git checkout – 被删除的文件
    或者 git restore 被删错的文件

$ rm readme.txt rm 删除文件的意思 (linux命令)
$ git checkout – readme.txt 恢复文件

  • rm linux下删除命令

  • mkdir linux下创建文件夹命令

  • git rm 不但会把工作区里面的文件删除,还会把版本库里面的文件也删除,做到彻底移除掉这个文件

远程仓库

知名远程仓库网站

注册一个账号

注册一个账户

  • 内网仓库
    gitlab是使用java开发的一个内网仓库

生成SSH key 公钥和私钥

一路按enter,如果遇到y/n,选择y

最后,默认再c:/user/administre/.ssh/

拷贝 id_rsa.pub 中的文本

和远程仓库绑定SSH公钥

  • 将上面生成的id_rsa.pub中的key填入到远程仓库设置中,进行绑定

gitee码云ssh绑定方法

    1. 任何地方打开cmd(命令窗口)
    1. 输入ssh-keygen -t rsa -C “xianweb@qq.com
      邮箱写和config设置的邮箱一致,当然也可以随便写
    1. 上面的代码输入之后,按enter键确认执行
    1. 接下来提示密钥要保存再那个位置?默认位置c盘下,
      你可以根据需要修改这个位置,默认按enter回车键
    1. 如果你以前生成过密码,会提示要不要覆盖?选择y按
      enter即可
    1. 提示让你设置一个私钥,也就是自己设置一个密码,
      这个随意
    1. 按回车生成密钥,然后根据上面的保存路径找到id_rsa.pub, 拷贝里面所有内容
    1. 回到码云个人中心,找到设置链接,然后查看左侧会员中心菜单,找到ssh公钥菜单,添加公钥即可

github的ssh绑定方法

    1. 使用账户和密码登录进github
    1. 单击头像显示个人菜单,选择setting链接
  • 3.进入个人中心页面,选择左侧SSH and GPG keys

  • 4.添加一个ssh公钥,ssh公钥可以通过代码生成

远程仓库常见指令

  • git clone

    • 从远程仓库克隆到本地

git clone 仓库地址(分2种协议https和ssh)

https协议:
git clone https://gitee.com/gx0513/vivocms.git

ssh协议:
git clone git@gitee.com:gx0513/crm.git

注意ssh协议地址,一般是不能下载,除非你是该项目开发成员
如果开发者开发权限,也是可以使用ssh协议下载

  • git remote add

    • 添加远程仓库

git remote add 仓库名 仓库地址

- 如果是git clone下来的项目,默认会添加远程仓库绑定

仓库别名是 origin

  • git remote -v

    • 查看远程仓库详细列表
  • git remote rm

    • 移除远程仓库绑定

git remote rm origin

  • git push

    • 把本地仓库推送到远程仓库

git push -u 仓库名 分支
git push -u github master

-u 注意 - 和u之间不能有空格

- -u 这种模式它会以非常安全的模式提交到远程,比如远 
 程早一个版本,它会提示你先git pull 拉取下来

-f 这种模式是强制覆盖的模式,它会把之前的版本记录
清零,只保留这一次提交的版本记录。

  • git pull

    • 拉取服务器最新差异数据

      • git pull 远程仓库名 分支名

例如:git pull gitee master

- 远程仓库存在一个版本如何拉取?

(远程仓库和本地仓库不同)

	- git pull gitee master --allow-unrelated-histories

allow-unrelated-histories 允许两个仓库不存在关联的部分进行合并,存在关联的部分,手动解决冲突

- Already up to date. 表示已经是最新的版本了,没有必要再拉取数据

-  git add/rm ... commit 意思是建议你提交一个版本,然后在git pull
  • git push和git pull练习

    • 甲:git clone myapp仓库到本地

乙:也git clone myapp仓库到本地
甲:写一个a.txt文件,然后git add 和 git commit提交一个版本
然后push到远程服务器 git push -u origin master。

乙:写一个b.txt文件,然后git add和git commit提交一个版本
乙也想push到远程仓库,但是尺寸会产生冲突,因为甲比乙早一个版本。
如果乙冒然强制提交,会导致乙的版本被清除掉。

   于是乙开始 git pull拉取甲的最新版本,但是发现无非拉取。原因是甲和乙两个
   仓库存在不重合的记录

   所以乙需要使用 --allow-unrelated-histories才能拉取。

   git pull origin master --allow-unrelated-histories

乙: 乙已经完成拉取下了数据,现在可以正常的 git push -u origin master

  • 本地仓库提交到远程步骤

      1. 本地使用git init 创建一个空仓库
      1. 使用git add -A 添加所有文件到暂存盘
      1. 使用git commit -m “描述” 提交一个版本
      1. 注意前面3步不是必须的,只是保证你的仓库至少需要一个版本,因为推送到远程需要主分支,而如果一个版本都没有,是没有主分支(master)的。
      1. 远程创建一个远程仓库,这个仓库是要和本地对接的
      • 码云的创建
      1. 本地添加远程仓库别名
      • git remote add origin 仓库地址(https和ssh)

      • origin 是别名,可以随意取名

      • https 仓库地址第一次会弹出输入用户名和密码

        • 当然https密码操作系统也可以记住

        • 不过https比ssh推送的话要慢些

      • ssh 该协议推送,只要前期配置了SSH公钥,后面推送都是免密码推送,不会弹出用户验证框的

      • 示例代码:

      1. 开始推送到远程仓库
      • git push -u 仓库别名 master

      • git push 推送的意思,指上传到远程服务器

      • -u 表示安全的方式推送,比如远程服务器如果早本地有一个版本,那么推送会失败,你必须将远程的拉取到本地,然后合并生成一个全新版本,再去推送。

      • -f 表示强制推送,注意此操作会覆盖了远程所有的版本,带来破坏性改变,除非你大佬,能承担一切后果,那你就硬推吧。

      • master 是主分支的意思,只有创建了一个版本,就会自动生成一个主分支

      • 示例代码:

        • git push -u origin master
  • 远程协作步骤

    • 假设有一个现存项目vivocms
  1. 申请成为开发者
  2. 得到仓库地址,克隆项目(SSH协议,无登陆提交)
  3. 注意克隆到本地的项目会默认建立和远程仓库的绑定,默认仓库名origin
  4. 开始编写代码,添加版本,继续写代码、添加版本…..
  5. 开始提交项目到远程 git push -u origin master
  6. 可能会产生冲突,因为同事的比你先提交一个版本。
  7. 使用git pull拉取最新的版本信息,拉取过程可能会产生冲突,手动解决冲突。
  8. 解决好冲突保存版本git commit
  9. 开始提交到远程git push,可能又会冲突,原因是又一个同事比你早一个版本。
    10.接下来重复6-9这个步骤,一直到push成功,你的版本才被正式提交到远程。
  • 两个不同独立仓库git pull拉取操作

      1. gitee码云创建一个空仓库oa2020,注意勾选readme文件
  1. 一旦勾选了readme,那么服务器会使用git init初始化一个远程仓库,并且提交第一次版本

  2. 在本地创建oa2020目录,使用git init初始化仓库,那么注意此时本地oa2020 和远程 gitee oa2020是各自独立的仓库。

  3. 本地仓库添加一个版本,然后使用git push到远程仓库会出错,原因是因为远程仓库已经有一次提交版本,你必须拉取远程仓库的版本,不然会因为冲突无法提交。

  4. 那么你会想到使用git pull,但是发现git pull 无法拉取远程仓库版本信息,因为是本地和远程仓库是不同的独立仓库,要拉取必须使用 –allow-unrelated-histories

例如 git pull gitee master –allow-unrelated-histories

  1. 注意如果你是使用git clone 远程仓库,那么肯定不是各自独立的仓库,不需要使用–allow-unrelated-histories属性

    • 还有一种暴力推送

git push -f origin master

此推送会拿本地的完全覆盖掉远程的,远程的版本记录和文件不复存在,要慎用此操作,除非你可以负责。

  • 两个相同的仓库(本地和远程)推送

      1. 先远程(gitee)创建一个仓库,并初始化一个版本,勾选readme自述文件
      1. 本地电脑使用git clone 下载刚才创建的远程仓库
      1. 那么本地的仓库因为是远程克隆下来的,所以它们被认为是同一仓库,不必须再创建远程仓库别名,可以使用

git remote -v 查看信息,发现已经自动创建了远程绑定

- 4. 接下来本地修改一下,然后使用git add 和git commit 提交一个版本

- 5. 使用 git push 推送到远程,不会产生冲突(前提是远程没有新版本提交的情况)
  • 两个不同的仓库如何进行推送?

    • 1.先在gitee,创建study3,然后勾选初始化仓库。勾选设置模板,然后选择readme文件,这样远程就会提交一个版本。

      1. 在本地创建study3项目文件夹
    • 3.在本地study3项目文件夹内,新建readme.md

      1. 在本地的readme.md随便加入一些内容
    • 5.然后在本地提交一个版本,git add -A和git commit -m “版本1” 提交版本

      1. 然后本地添加远程仓库别名

git remote add study3 git@gitee.com:gx0513/study3.git

- 7. 然后本地开始推送到远程

git push -u origin master

- 8. 发现会报错,因为远程已经有一个版本,必须把远程的版本,git pull下载下来,然后和本地的合并,合并完了之后,然后在开始推送。

- 9. 于是你会使用git pull,但是你发现根本不能拉去远程的数据,因为本地和远程是两个不同的仓库,不允许这样直接拉取数据。

- 10. 需要加一个属性--allow-unrelated-histories,具体如下:

git pull study3 master –allow-unrelated-histories

- 11. 此时你会发现产生冲突,会弹出vscode编辑器,让你在vscode写一些记录,记录冲突点在哪里。

- 12. 你可以找到冲突点,然后手动解决冲突

- 13. 解决了冲突,然后保存一个版本

- 14. 然后在开始推送到远程 git push -u study3 master

多人协作成语接龙游戏步骤

  1. 打开成语接龙.txt 在后面接上你的成语

  2. git add -A 和 git commit “提交版本”

  3. git push -u origin master 如果一切顺利,就可以推送了。
    但是如果有人比你早一步推送了版本,那么你需要使用

    git pull 拉取最新数据,然后再最新的数据上加上你的成语

  4. 然后再git add 和 git commit 保存一个版本

  5. 继续 git push -u origin master,直到可以推送到服务器即可

  • 注意多人协作还需要添加开发成员

.gitignore 上传忽略名单

  • 有时候我们并不想把一些敏感信息、设计稿源文件或者缓存文件上传到远程仓库,那么我们可以通过.gitignore文件设置一个忽略名单

  • .gitignore是扩展名

  • 练习步骤

      1. 远程创建一个hello项目
      1. git clone hello项目
      1. 进入hello项目,然后可以依次创建imgs文件夹、password.txt、welcome.txt和about.html文件
      1. 新建.gitignore文件配置如右侧
      1. 保存一个版本 git add 和 git commit
      1. 提交到远程hello项目,查看是否按照.gitignore配置正确的提交了本地文件

https和ssh协议区别

  • https协议在推送的时候会弹出登录框,输入仓库托管网站(gitee或者github等)的账户和密码,输入成功后,我们的操作系统会自动记住登录状态,下一次推送不需要再输入账号和密码

  • ssh协议需要自己生成公钥,并且和仓库托管网站登录账户进行绑定,即可。绑定成功后,也是可以免密码登录推送的。

github使用https协议推送时报鉴权失败

  • 问题:如上图所示 git push 时发生了报错,鉴权失败;

  • 解决方案:

  1. Settings->Developer settings->Personal access tokens->Generate new token。

  2. 创建新的访问密钥,勾选repo栏,选择有效期,为密钥命名。

  3. 复制这段密钥。(注意,密钥只显示一次,记得妥善保管)

  4. git push时,作为用户密码来使用。

分支管理

什么是分支?

  • 每次提交版本到版本库,Git都把它们串成一条时间线,这条时间线就是一个分支。

什么是主分支?

  • 当你提交一个版本时系统会自动产生一个叫master的分支,这个分支叫主分支。

什么是HEAD?

  • 我们可以创建无数个分支,可以把HEAD理解为一个指针,可以理解当前的。

查看分支

  • git branch 查看本地分支

  • git branch -v 看详细的分支

创建分支

  • git branch dev 创建但不会自动切换分支

切换分支

  • git switch dev

创建并切换分支

    1. git checkout -b bug 早期版本的写法
    1. git switch -c bug
  • 两种方法都可以

查看分支详情

  • git branch -v

查看所有分支

  • git branch -a

    • 远程仓库的分支也包含

删除分支

  • git branch -d dev

    • 注意:不能在当前分支中删除自己
  • git branch -D dev

    • 强制删除,可以删除远程分支
  • 注意事项:不能在当前分支,删除该分支

合并分支

  • git merge dev

    • 将dev合并到当前分支

    • 测试步骤1

git会自动合并

1
2
3
4
5
6
7
8
9
- 1. 首页创建一个hello项目,然后使用git init初始化仓库

- 2. 新建一个welcome.txt,写上我在主分支上

- 3. 提交一个版本 git add 和 git commit 提交版本

- 4. 基于master分支创建一个dev分支

- git switch -c dev

创建并切换分支

	- 5. 修改welcome.txt 内容为我在开发分支上

	- 6. 提交一个版本 git add 和 git commit 提交版本

	- 7. 来回切换master和dev分支,查看welcome.txt内容是否不一样,证明分支之间互不影响,各自独立,就像在平行宇宙一样。

	- 8. 切回开发分支,在开发分支上继续编写一些内容,比如开发完成了首页,然后提交一个版本

	- 9. 切回master分支,使用git merge dev 将dev分支合并到master主分支上。

	- 10. 完成分支合并练习

- 测试步骤2

需要手动解决冲突

	- 1. 首页创建一个hello项目,然后使用git init初始化仓库

	- 2. 新建一个welcome.txt,写上我在主分支上

	- 3. 提交一个版本 git add 和 git commit 提交版本

	- 4. 基于master分支创建一个dev分支

		- git switch -c dev

创建并切换分支

	- 5. 修改welcome.txt 内容为我在开发分支上

	- 6. 提交一个版本 git add 和 git commit 提交版本

	- 7. 来回切换master和dev分支,查看welcome.txt内容是否不一样,证明分支之间互不影响,各自独立,就像在平行宇宙一样。

	- 8. 切回到master分支,然后继续修改主分支welcome.txt的内容,然后提交一个版本(注意此时master有2个版本,dev有一个版本,说明master的版本多于dev)

	- 9. 接下来使用git merge dev,将开发分支合并到主分支上,如果你合并的地方是同1个文件或者同一行,代码会提示自动合并失败

	- 10. 那么你可以手动打开合并失败文件,可以看到有<<<<<HEAD 此类信息,可以直接删除这些信息,然后保存,再提交一个版本即可
  • git自动分析合并

    • 在合并过程中程序首先会试着自动合并,如果能自动合并它会弹出一个vim编辑器,让你写一个描述文字记录合并的内容,然后输入:wq(linux指令,表示保存并退出)
  • 手动解决冲突合并

    • 打开有冲突的文件,发现有

<<<<<<<<<HEAD
删除这些分隔符,自动解决里面的冲突,提交版本即可

抓取远程分支

  • 默认情况下 使用git clone 只会下载默认分支,其他的分支需要你使用下面的代码抓取下拉git checkout

  • 语法

git checkout -b 本地分支名 远程仓库别名/远程分支名

注意:
本地分支名,可以随便取名,但是不能和本地其他分支名重名

  • git checkout -b dev origin/dev

dev 本地要创建的分支,可以和远程的名字不一样
origin/dev 远程存在的分支

  • 或者使用

git switch -c dev origin/dev

  • 一般是master分支设置为保护分支,dev分支设置为默认分支,master分支通常用于对外发布版本。

  • 码云分支权限策略

    • 默认分支

      • git clone下载的分支
    • 常规分支

      • 仓库成员(开发者权限及以上)可推送分支
    • 保护分支

      • 可自定义保护策略,默认仓库管理员才能管理(推送)被保护的分支

注意:
保护分支是可以被远程抓取的

- 只读分支

	- 任何人都无法推送代码(包括管理员和所有者),需要推送代码时应设为“常规”或“保护”分支

推送到远程指定分支步骤

    1. gitee 上创建项目hello,并初始化2个分支 分别是master 和 develop分支,master为默认分支
    1. git clone hello项目,发现默认下载下来的仅有一个master分支
    1. 然后开始抓取远程develop分支
    • git switch -c develop origin/develop
    1. 抓取远程分支完毕之后,会切换到develop分支上
    1. 然后你可以在这个分支上开发,然后创建多个版本
    1. 然后通过 git push -u origin develop 推送你的开发分支

远程协作

  • 假定网上已经存在一个项目crm,现在组长要求远程协作开发这个项目:
  1. 申请成为crm项目开发者
  2. git clone crm项目
  3. 默认只包含master分支,也可以再创建仓库时设置默认是dev分支
  4. 通常是再dev分支开发,如果没有clone到dev分支,则需要抓取分支
  5. 抓取分支 git checkout -b dev origin/dev
  6. 然后再dev分支中新建并切换到feature分支
  7. 接下来开始新建index.html页面,加入内容
  8. 保存一个版本
  9. 然后切换到dev分支,把feature分支合并到dev上
  10. 开始把dev分支 push到远程仓库

vscode使用git管理

1. 打开vscode,选择以上图标

2. 选择克隆存储库

3. 复制远程仓库地址(https和ssh两种选择)

推荐使用ssh协议仓库地址

5. 复制好了地址到文本框,确定回车,会要求你

选择保存的位置

6. 接下来开始下载远程仓库,下载完毕后单击

打开即可

vscode使用git发布版本

1. 任意修改文件,修改了会再图标上有提示修改的文件数量

2. 选择版本控制菜单,

3.添加暂存盘

4. 从暂存盘恢复

5. 使用ctrl+enter提交版本

6. 查看时间线

vscode使用git推送到远程仓库

1. 首先本地至少要一个版本,选择菜单

2. 如果你是克隆下的项目,那么自动包含远程仓库名称,直接推送选择仓库名即可

3. 如果不是克隆项目,你需要添加远程仓库地址和仓库名称,再进去第2不操作推送到远程仓库。

gitee中的pages服务

特别注意:

现在码云使用pages服务,要求必须要实名验证。

1. 首先将网站项目上传到远程仓库

2. 注意项目中一定要一个首页文件,比如index.html

这样可以自动索引

3.单击gitee pages服务

4.开启gitee pages服务

github中的pages服务

1. 在github上创建app123仓库

2. 克隆app123仓库到本地

  • git clone 仓库地址

3. 在本地app123新建index.html

  • 里面输入 代码

    欢迎光临我的博客

2. 开启 GitHub Pages 服务

  • 1.单击设置菜单

  • 子主题 2

  • 子主题 3