git简介

1、版本控制
主要用于多人团队协作的,主要用于管理修改记录、修改人、修改时间、方便进行版本的回退。

>> SVN
  集中式版本控制系统

>> Git
  是一个分布式版本控制系统。

2、Git

2.1 概念

  >> 工作区(workspace)
    自己电脑上项目所在目录。
  >> 暂存区(Index)
    一般是在当前项目 .git 目录下的 index文件
  >> 本地仓库(本地版本库)(repository)
    在当前项目 .git 目录下
  >> 远程仓库(远程端版本库)
    将代码放在了服务器上。

2.2 Git 配置命令

  // 安装完 Git 后做的第一件事:设置用户名与邮箱地址
  // --global 是否全局设置
  git config --global user.name '你的用户名'
  git config --global user.email '你的邮箱'

  // 查看当前 Git 配置
  git config --list

2.3 仓库初始化

  >> 新项目的仓库创建
    mkdir 项目名(文件夹名字)
    cd 项目名(进入项目目录)

    # 仓库初始化:会在当前目录下创建一个 .git 的目录
    git init

2.4 查看当前项目的状态

  git status  // 查看项目状态

2.5 文件跟踪 – 将工作区文件变动提交到暂存区

  git add 文件名
  git add . // 把所有的新增的、修改的都添加到暂存区
  git add -A // 添加所有变化(新增、修改、删除)

2.6 文件跟踪 – 将暂存区的文件提交到本地仓库

  git commit -m 本次提交说明

2.7 历史记录

  git log // 查看版本历史记录
  git reflog  // 查看历史操作记录

2.8 文件删除

  git rm 文件 // 删除工作区文件,并且也从暂存区中删除对应的文件记录

  >> 通过 git rm 删除文件后,只需要 git commit

  >> 但是如果是手动直接删除文件或者通过 rm 删除,则需要 git add 和 git commit

  git rm --cached 文件 // 停止跟踪指定的文件

2.9 版本回退

  >> git reset
    # 语法 -- 回退到指定版本,之后的版本记录会消失。
    git reset [--hard] <commit-id>

  >> git revert
    # 语法 -- 只会撤销某一次操作,在这之后和之前的提交不变
    git revert <commit-id>

    # 举例
    git revert 1c8da79 // 撤销指定的版本
    git revert HEAD // 撤销上一次
    git revert HEAD^ 撤销上上次
    git revert HEAD~3 // 撤销上上上次

2.10 远程仓库

  >> 仓库类型
    * GitHub
    * gitee(码云)
    * 自建服务器
  
  >> git remote 远端
    git remote add <remote-name> <url> // 关联远程仓库
    git remote // 查看本地仓库关联的远程仓库

  >> git fetch + git merge

  >> git pull
    git pull <远程主机名> <远程分支名>:<本地分支名>

    # 使用 rebase 模式进行合并 -- 有更好的代码提交树
    git pull --rebase <远程主机名> <远程分支名>:<本地分支名>

    # 举例
    git pull origin master:dev // 将远程端 origin 的 master 分支 拉取下来和本地的 dev 分支合并
    git pull origin master // 将远程端的 master 与当前分支合并

  >> git push
    git push <远程主机名> <本地分支名>:<远程分支名>

    # 举例
    git push origin master // 将本地 master 推送到远程端的 master
    git push origin dev:dev // 将本地的 dev 分支 推送到远程端的 dev 上
    git push -u origin master // 一般第一次推送加上 -u,方便以后的推送只需要写 git push

  >> git clone

  >> 本地仓库与远程仓库关联
    // 直接克隆别人的项目
    git clone 远程端url

    // 将本地项目上传到远程端
    1. 远程端创建仓库;
    2. 将远程端与本地端关联;
    3. 同步远程仓库到本地;
    4. 本地项目推送至远程端;

2.11 忽略文件

  根目录下新建 .gitignore 文件。

  不需要被 Git 跟踪管理的文件需要加入该文件(node_modules)。

  >> 注意事项:
    一般建议在初始化仓库之前创建。

  >> 匹配规则(正则):
    以 # 开头,代表注释
    *:任意多个字符
    **:任意目录
    ?:匹配一个任意字符
    [abc]
    !:不忽略
    以 / 开头的路径:要忽略此目录下的子文件
    以 / 结尾的路径:要忽略此目录下所有的目录。

    # 如:
    *.txt 忽略所有 .txt 结尾的文件
    /todo  忽略根目录下的 todo 文件
    todo/ 忽略 todo 文件夹下的所有文件
    js/** /*.js 忽略 js 目录下所有 .js 文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值