Git:常⽤概念

commit:

git commit

commit 表示对于⼀次改动的提交,它可以代表当前时刻下 Git 仓库的完整快照,但 本质上,commit 只是记录了距离上⼀次 commit 之间的改动。

 staging area 暂存区和 add:

git add README.md
  1. staging 原意:舞台表演前的筹划准备(例如汇集道具和演员)。Git 中的意 思:把改动内容汇集起来以待提交。
  2. staging area:待提交的修改内容暂时存放的地⽅。主要⽤于和已经改动但不打 算提交的内容区分开来。
  3. add 指令:把指定的内容放进暂存区

branch 和 master:

  1. branch 的含义是分⽀,指的是仓库结构出现分叉时的不同的「叉」
  2. 本质上,git 的 branch 是引⽤(reference),即指向某个 commit 的指针
  3. master 是⼀个特殊的 branch,因为它是 Git 的默认 branch(默认 branch 可 以修改)。默认 branch 的特点: 执⾏ clone ⽅法把仓库取到本地的时候,默认 checkout 出来的是默认 branch,即 master; 在执⾏ push 命令把本地内容推送到远端仓库的时候,远端仓库的 HEAD 永 远跟随默认 branch,⽽不是和本地 HEAD 同步。换句话说,只有 push master 分⽀到远端的时候,远端的 HEAD 才会移动。

HEAD:

  1. HEAD 也是引⽤,但它不是 branch,它代表了当前所处的位置。HEAD 不仅可 以指向某个 commit,也可以指向某个 branch(例如 master、feature1)
  2. 当每次 commit 的时候,HEAD 不仅随着新的 commit ⼀起移动,⽽且如果它指 向了某个 branch,那么它也会带着 branch ⼀起移动

commit 前

commit 后

clone:

git clone https://github.com/rengwuxian/git-demo.git

clone 是从远端仓库初次把数据取下来,clone 命令具体会做两件事:

  1. 把整个仓库中的所有 branch 取下来,并把从初始 commit 到达这些 branch 的 路径上的所有 commit 都取下来
  2. 从初始 commit 开始,向 master 指向的 commit,⼀个个地把每个 commit 应 ⽤,最终得到⼀个「当前」状态的仓库内容,写进 Git 所在的⽬录(这个⽬录叫 做 working tree)

log:

git log

从 HEAD 指向的 commit 开始,倒序显示每⼀个 commit 的摘要信息

merge:

git merge feature1

merge 就是合并,它会把当前 commit 和指定 commit(所谓 commit,可以直接⽤ 它的 hash 值来指定,例如 4a0a1b ,也可以⽤⼀个直接或间接指向它的引⽤来指 定,例如 master 或者 HEAD )进⾏合并,并把这个合并⾏为创建成⼀个新的 commit。merge ⾏为所产⽣的 commit,是⼀种特殊的 commit:

  1. 它不需要有改动,只要指定两个(或更多个)⽗ commit 就好
  2. 正如上⾯这句说的,它有两个或更多个⽗ commit,这是⼀般的 commit 不具有 的性质

merge 冲突 :

当 Git 不知道怎么合并某两处冲突的修改时,会中断⾃动合并,并对冲突⽂件进⾏标 记。解决⽅法:

  1. 把⽂件⼿动修改好
  2. 把修改的内容使⽤ add 来添加进暂存区
  3. ⽤ git merge --continue 来继续⾃动合并流程
  • 关于 origin/ 打头的 branch

本地仓库中,有⼀些以 origin/ 打头的 branch,它们是远端仓库(别名为 origin)的本地镜像。它们的作⽤是⽅便在本地查看远端仓库的 branch 状态。 远端仓库默认名称是 origin,但也可以给它们起别的名称 origin/ 分⽀并不在本地直接操作,它们⼀般只在两种情况下会进⾏⾃动更新:

  1. 在执⾏ push 的时候,push 成功后,push 成功的 branch 会把它对应的 origin/ branch 更新到当前 commit(因为远端的 branch 已经随着 push 的 成功⽽更新,所以本地镜像也⼀起更新)
  2. 在执⾏ pull 或者 fetch 的时候,由于从远端拿到了所有最新的 branch 状态,所 以也会⼀同更新所有的 origin/ branch 关于 origin/HEAD:这是⼀个永远跟随 origin/master 的引⽤,它最⼤的作⽤ 是⽤来标记默认 branch

push:

git push origin feature1

把当前 branch 推送到远端仓库的指定分⽀。 具体做两件事:

  1.  把 HEAD 所指向的 branch (只是⼀个引⽤哦)推送到远端仓库
  2. 从这个 branch 向前回溯,远端仓库缺少的每⼀个 commit 也推送到远端仓库。
  3. 将 push 的 branch 的本地镜像 origin/xxx 更新

pull:

git pull origin feature1

把远端 branch 取到本地。 具体做的事有三件: 

  1. 把远端所有 branch 的最新位置更新到本地的 origin/xxx 镜像
  2. 要到达这些 branch,本地所缺少的所有 commit,也取到本地
  3. 把 origin/当前branch 的内容合并到当前 branch

事实上,`git pull origin feature1 会分成两部执⾏,它等价于下⾯两⾏:

git fetch
git merge origin/feature1
基于SSM框架的智能家政保洁预约系统,是一个旨在提高家政保洁服务预约效率和管理水平的平台。该系统通过集成现代信息技术,为家政公司、家政服务人员和消费者提供了一个便捷的在线预约和管理系统。 系统的主要功能包括: 1. **用户管理**:允许消费者注册、登录,并管理他们的个人资料和预约历史。 2. **家政人员管理**:家政服务人员可以注册并更新自己的个人信息、服务类别和服务时间。 3. **服务预约**:消费者可以浏览不同的家政服务选项,选择合适的服务人员,并在线预约服务。 4. **订单管理**:系统支持订单的创建、跟踪和管理,包括订单的确认、完成和评价。 5. **评价系统**:消费者可以在家政服务完成后对服务进行评价,帮助提高服务质量和透明度。 6. **后台管理**:管理员可以管理用户、家政人员信息、服务类别、预约订单以及处理用户反馈。 系统采用Java语言开发,使用MySQL数据库进行数据存储,通过B/S架构实现用户与服务的在线交互。系统设计考虑了不同用户角色的需求,包括管理员、家政服务人员和普通用户,每个角色都有相应的权限和功能。此外,系统还采用了软件组件化、精化体系结构、分离逻辑和数据等方法,以便于未来的系统升级和维护。 智能家政保洁预约系统通过提供一个集中的平台,不仅方便了消费者的预约和管理,也为家政服务人员提供了一个展示和推广自己服务的机会。同时,系统的后台管理功能为家政公司提供了强大的数据支持和决策辅助,有助于提高服务质量和管理效率。该系统的设计与实现,标志着家政保洁服务向现代化和网络化的转型,为管理决策和控制提供保障,是行业发展中的重要里程碑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值