| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> 【Git】分布式版本控制系统 -> 正文阅读 |
|
[开发工具]【Git】分布式版本控制系统 |
一、概述分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无需联网,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改。 版本控制的原因:从个人开发过渡到团队协作,不可避免地需要将多人的修改进行合并。 集中版本控制常用的集中版本控制工具:CVS、SVN、VSS 集中化的版本控制系统诸如 CVS、SVN 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。 缺点就是中心服务器宕机,那么版本控制将不可用。 分布式版本控制常见的分布式版本控制工具:Git、Mercurial、Bazaar、Darcs 像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。 Git工作流程命令如下:
Git 简单的工作机制Git 中主要存在的结构以及构成: Git 常用远程代码托管平台
二、Git 常用命令Git 安装和配置进入Git官方下载地址下载安装文件,之后根据提示进行安装即可。
Git 提交命令Git 中会用到一些 Linux 常用的命令,通常初始化一个 Project 并使用 Git 进行管理,推送到远程,整个流程中所需要使用到的简单的 Git 指令: ① 在首次使用之前,要设置用户名和邮箱
② 创建 Git 仓库:
③ 如果已有仓库:
常见命令以及对应作用解释:
查看历史版本:
强制回退到某个版本:
Git 的切换版本,实际上是切换了 Head 指针,将 Head (代表当前所在版本指针)指向某一个具体的版本。 Git 分支操作在 Git 中,版本控制过程时,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。 创建分支可以支持同时并行推进多个功能开发,提高开发效率。 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
特别注意:在当前分支上执行
解决冲突编辑有冲突的文件,删除特殊符号,决定要使用的内容 特殊符号:
针对自己的项目情况,决定这两个部分的去留问题。 创建分支和切换分支Git 团队协作Git 被创建的初衷之一就是为了适应团队协作开发。 团队内协作的流程如下: 三、Git 远程托管平台远程仓库的操作
四、常用操作Git 提交代码的通用方式1、在develop分支拉取最新代码:git pull;
merge 的操作示意: rebase 的操作示意: Git 合并多次 commit目的:将多次连续的 git commit 记录合并,只留下一个 commit 记录。 操作: ① 首先使用 ② 使用
可以看到:
这里使用的是 4 次 commit 的压缩。之后我们编辑该页面,通常的编辑方法是将后面三个的 pick 更改为
之后我们保存退出,之后如果有冲突,先解决冲突再继续操作。 git 的 bash 命令行会给出相应的提示。之后依次执行:
继续 rebase 操作,如果想放弃这次操作,执行
此时我们将需要去掉的 message 信息之前加上 Git 修改 commit 的信息使用命令:
会进入当前所在的版本记录的 commit 中的备注信息编辑页面。利用 vim 编辑器修改 message 信息,保存退出即可修改 commit 的备注信息。 Git 暂存当前工作如果有一个新增的 bug 需要修复,这个时候我们通常手头还有正在进行的工作,那么我们应该先将手头的工作进行暂存,使用:
将当前分支上没有提交的修改提交到暂存区,之后我们创建一个新的分支修改 bug 。等待 bug 修复完毕切换回原来的分支,我们使用:
查看当前暂存区的内容。我们此时可以使用:
来将暂存区内的内容恢复,但是此时并不会删除 stash 内的内容,我们需要使用:
来删除 stash 中的内容。如果需要恢复原来暂存的内容并且同时删除内容,使用:
命令来弹出暂存区的内容,并且删除目标 stash 部分。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/30 3:09:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |