一、Git远程仓库
Git 远程仓库指的是部署在 公网上的 可以被所有程序员访问的 在线仓库。 程序员可以使用 Git 命令将远程仓库上的文件 克隆 到本地, 在本地进行操作, 操作完成后, 在 推送 到远程仓库上, 从而达到 多人协同开发的目的。现在, 比较主流的Git仓库有以下两个:
GitHub
最知名的一个 Git 远端仓库,下面的文字是对 GitHub 的简介
GitHub 是服务于您的工作方式的开发平台。不论是 开源项目还是公司内部工作, 你都可以和 4000万 开发者一起托管、协作、开发、 管理您的项目
Gitee
国内的, OSChina 开源中国 开发的一个 远程仓库,同时支持 Git 和 SVN 两种 代码版本管理工具。因其中文环境 和 对 GitHub 的支持,很快收到开发者好评
二、Git远程仓库命令
1、git clone
git clone 命令用户克隆 远端项目到本地。git clone 语法为 git clone远端地址
可以在git首页右上角搜索感兴趣的开源项目(GitHub 位置和 Gitee 一致 / 小C 本人用的更多的是Gitee, 所以后面的内容是基于Gitee的, GitHub 与Gitee 在界面UI 上几乎一致, 所以, 可以作为通用案例学习)
我们可以在 【克隆/下载】 处 找到 复制 按钮, 点击按钮, 复制仓库地址, 使用Git 命令进行克隆
克隆远端仓库内容时,需要 远端仓库的 账户密码。
账户密码输入完成后, Git 开始克隆项目。克隆成功显示如下界面
2、git remote
使用git remote 可以操作远端地址信息, 包括 添加新的远端地址, 删除远端地址, 修改远端地址, 查看远端地址等等
2-1 git remote
查看远端地址, 只能查看到远端地址的简写名称
2-2 git remote -v
查看远端地址, 能够查看到简写名称 和 详细地址
这两个地址都叫做 origin ( 因为是同一个详细地址 ),分别用于 fetch (更新) 和 push (推送)
2-3 git remote add
添加远程地址, 语法为 git remote add简写名称详细地址
2-4 git remote rename
修改远程地址的简写名称, 语法为 git remote rename旧名称新名称
2-5 git remote remove
删除远程地址。语法为 git remote remove简写名称
或者 git remote remove地址
3、git 分支
3-1 分支作用
咱们来关注一下下面这个流程
- 有一天, 你在开开心心写代码
- 突然, 老大告诉你: 现在有个问题PRO01需要处理下,很急, 先把手头的任务停一下
- 好吧, 暂停手中的工作,开始处理
PRO01
(15 分钟过去了, PRO01 仍然没有搞定...) - 老大又来了, 又出了一个问题PRO02, 比 PRO01更急, 不论你在干什么, 必须停下来, 先处理PRO02
- WTF .....
- 好吧, 暂停PRO01,处理PRO02。 怎么办, 代码中有很多没有测试的功能, 不能直接在上面修改啊, 删了PRO01 的新代码吧。
- 那么问题来了, 为了解决 PRO01 我到底改了哪些地方呢......
好吧, 问题解决不了了.... , 这个时候, 分支 则作为 大杀器 出现了.....
3-2 分支流程
- 正常开发的代码在主分支(Master)上(然而,很多公司会要求正常的开发流程也不应该在主分支上进行, 每进行一个新的业务功能编写的时候,都应该创建一个新的分支)
- 当出现问题需要紧急处理的时候, 创建(git branch)一个新的分支VPRO01VPRO02, 作为当前任务的分支, 相当于保存当前进度, 创建一个新的 "副本"
- 切换到对应的分支中(git checkout),在分支中处理紧急问题, 处理结束测试通过后将代码合并到主分支中(git merge)
- 回到主分支继续其他操作
3-3 git branch [分支名]
git branch
用于列出所有分支, 并指明当前所在分支。
当前项目中有两个分支, 分别是 master 和 pro01 , 当前所使用的分支是 master (前方的 *
表示当前分支)
git branch分支名
用于创建新分支
3-4 git checkout
可以使用checkout切换分支, 语法为 git checkout分支名
3-5 git merge
合并分支, 语法: git merge分支A
作用 : 将分支A 合并到 当前分支上, 合并后 分支A 不会被删除, 如果分支A再无作用, 可以将其删除
3-6 git branch -d
删除分支, 语法为: git branch-d分支名
3-7 解决3-2问题
pro02 做法和 pro01一致, 不在重复了, 最后将pro01 的内容合并到 master 中
4、git tag
为当前代码状态打标签, 也就是做一个标记,有点类似于数据库事务中的回滚点, 或者你可以理解为一个定位, 用于确定当前位置(文件状态/快照)的值。
一般情况下, 当某个功能完成并且提交后, 会对当前代码状态打个标签, 也就是大家所熟知的 版本。
语法:
git tag
: 列出已有的标签git tag标签名
: 创建标签git tag-a标签名
: 创建带有附注的标签
5、git push
将本地仓库中的内容推送到远端服务器上。
语法 : git push远端服务器地址/简称分支名/标签名
当前本地环境下存在两个tag , 分别是 v1.0.0
和 v2.0.0
, 对应着两个版本, 分别对应着 v1.txt, v2.txt 两个文件。现在准备上传内容到 远端服务器上
依然是账户密码
至此文件已经上传到 远端服务器上
由于我上传的是master代码, 所以没有分支信息, 让我们继续
git push origin v1.0.0
git push origin v2.0.0
方式方法和上面一样。上传完我们再来看下
看到了两个版本标签,点击标签,查看标签文件
三、结束语
四篇博客, Git 相关的技术将要告一段落了。通过这几篇博客,向大家简单介绍了下Git的安装与使用方式, 当然这些只是Git的基础入门而已, 如果有什么问题或者想要了解的,可以在下方留言。 小C 会继续更新发布新的技术类原创文章的。