goweb项目

59 阅读9分钟

简单图书借阅管理

项目概述 本项目实现了一个简单的登录,新增图书的功能,并且前端封装了ajax请求,

    • 用户登录认证
    • 图书信息管理(浏览、新增)

 项目结构

项目地址

gitcode.com/chxii/aweso…

计算总页数的小公式详解

我们知道如果要计算总页数,一种直观的想法是用总数据量 total 除以每页的数据量 pageSizeInt,即 total / pageSizeInt。但是,这种简单的除法存在一些问题。

 整除情况

当总数据量 total 恰好能被每页数据量 pageSizeInt 整除时,例如 total = 10pageSizeInt = 2,那么 total / pageSizeInt = 10 / 2 = 5,这种情况下得到的结果就是正确的总页数。

 非整除情况

当总数据量 total 不能被每页数据量 pageSizeInt 整除时,例如 total = 11pageSizeInt = 2,此时 total / pageSizeInt = 11 / 2 = 5(在整数除法中,结果会向下取整)。但实际上,剩下的 1 条数据也需要单独占用 1 页,所以总页数应该是 6 页。

公式解决方法

为了解决非整除情况下的问题,就有了 (total - 1) / pageSizeInt + 1 这个公式。

  • total - 1:先将总数据量减 1,这样做的目的是为了处理余数的情况。当存在余数时,减 1 后再进行除法运算,能保证结果向上取整。例如,对于 total = 11pageSizeInt = 2total - 1 = 10(total - 1) / pageSizeInt = 10 / 2 = 5,然后再加上 1,就得到了正确的总页数 6。
  • (total - 1) / pageSizeInt:进行整数除法运算,得到的结果是不包含最后不满一页数据的页数。
  • + 1:最后加上 1,是为了把最后不满一页的数据也单独算作一页。

​ ​

使用git上传我们的项目

  • Windows:可以从Git 官方网站下载安装程序,然后按照提示进行安装。

安装完成后,需要配置你的用户名和邮箱,这将用于标识你的提交:

git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"

本地文件

创建本地仓库

//进入到项目目录下。
// 右键 open git bash here
git init

添加文件到暂存区

将项目中的文件添加到 Git 的暂存区,使用git add命令:

git add .  # 添加当前目录下的所有文件
# 或者指定具体的文件
git add file1.txt file2.py

提交文件到本地仓库

将暂存区的文件提交到本地仓库,使用git commit命令:

git commit -m "Initial commit"

其中-m后面的内容是本次提交的说明信息。

 推送代码到远程仓库

 创建 CSDN 的 Git 仓库

  • 登录 CSDN 账号,进入CSDN 代码托管平台
  • 点击 “新建仓库” 按钮,填写仓库名称、描述等信息,然后点击 “创建仓库”。
  • 进入个人账号下,个人设置-》SSH公钥。

在本地生成SSH公钥。

打开 Git Bash然后执行以下命令:

生成 SSH 密钥对,将 your_email@example.com 替换为你在 GitCode 注册的邮箱

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

执行命令后,会提示你选择保存密钥的文件路径,直接按回车键使用默认路径。接着会提示你输入密码,你可以直接按回车键跳过,也可以设置一个密码来增强安全性。

将 SSH 公钥添加到 GitCode

参考gitcode公钥管理帮助SSH 公钥管理 | GitCode 帮助文档
生成密钥对后,需要将公钥添加到 GitCode 账户中。
查看公钥内容

  • Windows :在 Git Bash 中执行以下命令查看公钥内容:
cat ~/.ssh/id_rsa.pub

本地文件夹与 GitCode 仓库关联并上传

git remote add origin <your_repository_url>

 将 <your_repository_url> 替换为你在 GitCode 上创建的仓库的 SSH 地址:

打开Clone会看到 SSH的项目地址

pull下远程仓库。和自己新建的项目合并。

git pull origin main --allow-unrelated-histories

#allow-unrelated-histories 选项合并
#这个选项允许你合并两个没有关联历史的仓库。你可以在 git pull 命令中添加该选项来完成合并操作

使用git push命令来建立关联,同时将本地master分支的内容推送到远程main分支:

git push -u origin master:main

这里的参数解释如下:

  • -u:表示设置上游分支,即建立本地分支和远程分支的关联,之后你可以直接使用git pushgit pull命令,而无需再指定远程分支。
  • origin:是远程仓库的名称,通常默认是origin
  • master:main:冒号前的master是本地分支名,冒号后的main是远程分支名。

完成以上步骤后, 文件夹中的内容就会被上传到 GitCode 仓库中。

建立关联后,你可以直接使用以下命令推送和拉取代码:

  • 推送代码
git push

  • 拉取代码
git pull

git命令详解

一、基础操作​

1. 初始化仓库

git init          # 在当前目录初始化新仓库
git init <name>   # 在指定目录初始化(目录需不存在)

2. 克隆远程仓库

git clone <url>        # 克隆远程仓库到当前目录
git clone -b <branch> <url>  # 克隆指定分支

3. 查看状态

git status          # 查看工作区及暂存区状态
git status -s       # 简洁模式显示状态

4. 添加文件到暂存区

git add <file>      # 添加单个文件
git add .           # 添加所有修改和新文件(不包括删除)
git add -A          # 添加所有变动(包括删除)
git add -p          # 交互式选择修改片段

5. 提交到本地仓库

git commit -m "message"  # 提交暂存区内容
git commit -a -m "msg"   # 跳过`git add`,直接提交已跟踪文件的修改

6. 查看提交历史

git log             # 完整提交历史
git log --oneline   # 单行显示提交记录
git log -p          # 查看每次提交的代码差异
git log --graph     # 图形化显示分支合并历史


​二、分支操作​

1. 创建/切换分支

git branch <branch>      # 创建新分支(基于当前commit)
git checkout <branch>    # 切换到指定分支
git checkout -b <branch> # 创建并切换到新分支(推荐)

2. 合并分支

git merge <branch>       # 将指定分支合并到当前分支
git merge --abort        # 取消合并冲突处理

3. 删除分支

git branch -d <branch>   # 删除已合并的分支(安全)
git branch -D <branch>   # 强制删除未合并的分支

4. 查看分支

git branch          # 查看本地分支(当前分支前有*)
git branch -a       # 查看所有分支(包括远程分支)


​三、远程仓库操作​

1. 关联远程仓库

git remote add origin <url>  # 添加远程仓库别名(origin为默认)
git remote -v                # 查看远程仓库地址

2. 推送代码

git push origin <branch>     # 推送本地分支到远程
git push -u origin <branch>  # 首次推送时设置上游分支(后续可简写`git push`)
git push origin --delete <branch>  # 删除远程分支

3. 拉取代码

git pull origin <branch>   # 拉取远程分支并合并到当前分支
git fetch origin           # 仅下载远程变更,不自动合并
git pull --rebase          # 拉取时使用变基(避免合并提交)

4. 同步远程分支

git fetch --all            # 获取所有远程分支信息
git checkout -t origin/<branch>  # 创建并切换到远程分支的本地跟踪分支


​四、撤销与回退​

1. 撤销工作区修改

git checkout -- <file>    # 丢弃工作区指定文件的修改
git restore <file>        # Git 2.23+ 推荐方式(同上)

2. 撤销暂存区修改

git reset HEAD <file>     # 将文件移出暂存区(保留工作区修改)
git restore --staged <file>  # Git 2.23+ 推荐方式

3. 回退到指定提交

git reset --soft <commit>   # 回退到某次提交,保留修改(可重新提交)
git reset --mixed <commit>  # 回退并清空暂存区(默认选项)
git reset --hard <commit>   # 彻底回退,丢弃所有修改(慎用!)

4. 生成反向提交(修正错误提交)

git revert <commit>   # 创建新提交,抵消指定提交的改动


​五、其他实用命令​

1. 标签管理

git tag <tag-name>         # 创建轻量标签
git tag -a <tag-name> -m "msg"  # 带注释的标签
git push origin --tags     # 推送所有标签到远程

2.储藏工作进度

git stash               # 暂存当前修改(未提交的)
git stash pop           # 恢复最近一次储藏的修改
git stash list          # 查看所有储藏记录

3. 查看文件差异

git diff                # 工作区与暂存区的差异
git diff --staged       # 暂存区与最新提交的差异
git diff <branch1> <branch2>  # 比较两个分支的差异

4. 修改提交信息

git commit --amend      # 修改最近一次提交的信息或合并新改动


​六、进阶操作​

1. 变基(Rebase)

git rebase <branch>     # 将当前分支的提交变基到目标分支上
git rebase -i <commit>  # 交互式变基(合并/修改/删除提交)

2. 重置远程仓库(谨慎使用!)

git push -f origin <branch>  # 强制推送覆盖远程分支(仅在必要时使用)


​七、配置与别名​

1. 配置用户信息

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

2. 设置命令别名

git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.st status


​八、常见场景示例​

1. 解决合并冲突

  • 执行 git merge 或 git pull 后出现冲突
  • 手动编辑标记为 <<<<<<< 的文件,保留需要的代码
  • 添加解决后的文件并提交:git add . && git commit

2. 丢弃本地所有修改

git reset --hard HEAD   # 丢弃所有未提交的修改
git clean -fd           # 删除未被跟踪的文件和目录(慎用!)