Git

Git

1. 概念:Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,分布式版本控制系统

2. 配置个人信息

  • 使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名
  • git config --global user.name “Your Name”
    git config --global user.email "email@example.com"
  • 查看是否配置成功,用命名git config -l

git的使用

1. 创建本地仓库
  (1) git init:把当前目录变成一个git仓库,并自动创建master分支

以上命令会在当前目录下创建了一个.git 隐藏目录,它就是所谓的Git 仓库。生成仓库 后的目录就不是普通的文档目录了,我们将其称为工作区,所以工作区中都包含一个git 仓库,而一个git仓库中又包含一个暂存区和一个版本库

  (2) 工作区与版本库概念
    ① Git有三大区:工作区、暂存区、版本库
      工作区(Working Directory):电脑中的目录
      仓库:工作区有一个隐藏目录.git,这个不算工作区,而是Git仓库
        暂存区(stage/index):一个临时的存储区域
        版本库 (Repository)
2. 添加文件到版本库的步骤
  (1) 创建(修改)文件
    往工作区中添加/修改文件

  (2) 添加到暂存区:git add
    a) 把修改存放到暂存区
      git add 文件夹:把文件夹下的所有修改添加到暂存区
      git add .:添加所有修改到暂存区
      如果想过滤部分文件,请查看过滤清单

  (3) 提交到版本库:git commit -m “备注”
    ① 使用git commit 命令可将暂存区的内容提交至版本库中,这个过程称为提交,每一次 提交都意味着版本在进行一次更新(会自动生成一个commit id)
     a) 如果不写-m回车会进入vim编辑界面,退出方法
      进入编辑状态:i
      退出编辑状态:ESC
      同时按下Shift和冒号(:),接着输入输入:q(退出不保存),wq(保存并退出)

3. 其他辅助命令
  (1) 查看仓库变更状态:git status
    a) 用status查看仓库会有几种状态:untracked、unstaged、uncommitted

Git远程仓库

1. 注册登录

关联本地仓库与远程仓库

1. 有两种方式关联:ssh和https两种协议,https比较简单,但提交时每次都分输入用户名和密 码,如使用https协议,直接跳过以下第1、第2步

2. 创建SSH Key:ssh-keygen -t rsa -C ‘email地址’
 (1) 以上命令会在当前window用户的目录里创建.ssh目录,里面有id_rsa(私钥)和id_rsa.pub (公钥)两个文件在C:\Users\Administrator.ssh

 (2) 添加SSH Key到Git服务器
  ① 添加完成后测试线路是否连通:ssh -T git@github.com

 (3) 建立本地仓库与远程仓库的连接
  ① 方式1:适用于先有本地仓库,后有远程仓库的情况
   a) 格式:git remote add 远程仓库名 远程仓库地址
   b) 例:git remote add origin git@github.com:xxx/view.git
   c) 测试是否成功git remote -v
   d) 删除远程仓库连接:git remote remove 远程仓库名

  ② 方式2:克隆(适用于先有远程库,后有本地仓库的情况)
   a) 格式:git clone 远程仓库地址
   b) 当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin

推送到远程仓库

1. git push

  • 格式:git push 远程仓库名 本地分支名:远程分支名
  • 把本地分支内容推送到远程分支(远程分支名省略表示推送到与本地分支相同的分支)
     例:git push origin master

拉取与合并(同步本地与远程仓库)

1. git pull

  • 格式:git pull 远程仓库名 远程分支名:本地分支名
  • 拉取远程分支内容到本地并与本地分支进行合并(本地分支名省略表示合并到与远程分支名 相同的分支)
     例:git pull origin master

2. git pull的时候,提示fatal: refusing to merge unrelated histories

  • 解决方法:git pull origin master --allow-unrelated-histories

3. git fetch

  • 拉取远程分支内容

4. git merge

  • 合并分支内容

备注:git pull origin master( 此命令相当与以下命令等效 )
   git fetch origin master
   git merge origin/master
     push和pull后的分支顺序格式:<来源地>:<目的地>

版本回退

1. 回退命令:git reset
  (1) 回退到上一个版本
    git reset --hard HEAD^

  (2) 回退到指定版本:
    git reset --hard [commit id] 版本号没必要写全,前几位就可以了,Git会自动去找

  (3) 回退指定文件
    git reset --hard [commit id] < file >

  (4) 参数说明
    hard:   工作区、暂存区、版本库的文件同时回退
    mixed: 暂存区、版本库的文件回退(默认)
    soft:  仅仅回退版本库中的文件

  (5) 当前版本:HEAD
    上一个版本:HEAD^
    上上个版本:HEAD^^
    … 依此类推
    前100个版本:HEAD~100

2. 显示从最近到最远的提交日志:git log

  • pretty = oneline(显示简要信息id+备注)
  • graph(图形显示版本走向)
  • abbrev-commit(显示简写的id)
  • 大串类似3628164…882e1e0的是commit id(版本号)

3. 查看命令历史:git reflog

  • 版本回退后又要回到回退前的版本用此命令

4. 撤销文件修改

  • git checkout – :放弃工作区的修改
  • git rm --cache :撤销暂存区的修改
  • git reset HEAD :撤销暂存区的修改

5. 对比文件:git diff < file >

git过滤配置(过滤清单)

1. 一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文 件不需要添加到版本管理中

2. a) #过滤node_modules根目录下的文件(不过滤其他目录下的node_modules文件夹)
    /node_modules

  b) #过滤所有mtk文件夹
    mtk/

 c) #过滤所有.zip,.mp3,.mp4 文件
    *.zip
    *.mp3
    *.mp4

 d) #过滤某个具体文件
    /mtk/do.c

 e) # 为注释

 f) 很简单吧,被过滤掉的文件就不会出现在你的GitHub库中了,当然本地库中还有,只是push的时候不会上传

 g) 演示sass遗留的依赖包问题:npm init创建package.js,npm install根据package.js下载包

分支操作

1. 创建分支:git branch 分支名

2. 切换分支:git checkout 分支名
  备注:1,2两部合并为git checkout -b 分支名

3. 查看分支:git branch

  • 列出所有分支,当前分支前面会标一个*号

4. 合并分支:git merge 分支名

  • git merge dev:把dev分支合并到当前分支
  • Fast-forward:快速合并
     a) 禁用快速合并: –no-ff (保持分支信息)
     b) 合并要创建一个新的commit,所以加上-m参数,把commit描述写进去

5. 删除分支:git branch -d 分支名

  • 强行删除,需要使用命令git branch -D feature-vulcan

6. 获取远程分支

  • 先获取(git fetch)
  • 然后在本地创建一个同名分支,并将远程分支映射到此分支(git branch dev origin/dev)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 智慧社区背景与挑战 随着城市化的快速发展,社区面临健康、安全、邻里关系和服务质量等多方面的挑战。华为技术有限公司提出智慧社区解决方案,旨在通过先进的数字化技术应对这些问题,提升城市社区的生活质量。 2. 技术推动智慧社区发展 技术进步,特别是数字化、无线化、移动化和物联化,为城市社区的智慧化提供了可能。这些技术的应用不仅提高了社区的运行效率,也增强了居民的便利性和安全性。 3. 智慧社区的核心价值 智慧社区承载了智慧城市的核心价值,通过全面信息化处理,实现对城市各个方面的数字网络化管理、服务与决策功能,从而提升社会服务效率,整合社会服务资源。 4. 多层次、全方位的智慧社区服务 智慧社区通过构建和谐、温情、平安和健康四大社区模块,满足社区居民的多层次需求。这些服务模块包括社区医疗、安全监控、情感沟通和健康监测等。 5. 智慧社区技术框架 智慧社区技术框架强调统一平台的建设,设立数据中心,构建基础网络,并通过分层建设,实现平台能力及应用的可持续成长和扩展。 6. 感知统一平台与服务方案 感知统一平台是智慧社区的关键组成部分,通过统一的RFID身份识别和信息管理,实现社区服务的智能化和便捷化。同时,提供社区内外监控、紧急救助服务和便民服务等。 7. 健康社区的构建 健康社区模块专注于为居民提供健康管理服务,通过整合医疗资源和居民接入,实现远程医疗、慢性病管理和紧急救助等功能,推动医疗模式从治疗向预防转变。 8. 平安社区的安全保障 平安社区通过闭路电视监控、防盗报警和紧急求助等技术,保障社区居民的人身和财产安全,实现社区环境的实时监控和智能分析。 9. 温情社区的情感沟通 温情社区着重于建立社区居民间的情感联系,通过组织社区活动、一键呼叫服务和互帮互助平台,增强邻里间的交流和互助。 10. 和谐社区的资源整合 和谐社区作为社会资源的整合协调者,通过统一接入和身份识别,实现社区信息和服务的便捷获取,提升居民生活质量,促进社区和谐。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值