| |
|
开发:
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的学习 |
目录 Git结构:工作区:平时存放项目代码的地方 暂存区:临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息 本地库:安全存放数据的位置,这里面有你提交到所有版本的数据。 工作流程: 在工作区中新建或修改代码; 将需要进行版本管理的文件用git add命令放入暂存区; 使用git commit命令将暂存区的文件提交到本地库。 Git与代码托管中心: 局域网环境下: GitLab服务器; 外网环境下: GitHub; 码云; 代码托管中心的作用:维护远程库 本地库的初始化:
初始化如下: .git文件夹中的属性如下: ?注意:.git目录中存放的是本地库相关的子目录和文件,不要删除,也不能随意修改 设置签名:形式: 用户名:Hope Email地址:123456@atguigu.com 作用:区分不同开发人员的身份 辨析:此处设置的签名与登录远程库(代码托管中心)的账号密码没有关系 命令: ? ? ? ? 项目级别/仓库级别:仅在当前本地库范围内有效 ? ? ? ? ? ? ? ?git config user.name Hope_pro ? ? ? ? ? ? ? ?git config user.email 123456_pro@atguigu.com ? ? ? ? ? ? ? ?信息保存位置:./.gitconfig文件 ? ? ? ? 系统用户级别:登录当前操作系统的用户范围 ? ? ? ? ? ? ? ? git config --global?user.name Hope_glb ? ? ? ? ? ? ? ? git config --global?user.email 123456_glb@atguigu.com ????????????????信息保存位置:~/.gitconfig文件 ? ? ? ? 级别优先级: ? ? ? ? ? ? ? ? 就近原则:项目级别优先于系统用户级别,二者都有事时采用项目级别的签名 ? ? ? ? ? ? ? ? 如果只有系统用户级别的签名,就以系统用户级别的签名为准 ????????????????(二者都没有是不允许的) 基本操作:添加提交以及查看状态操作:状态查看操作:git status 查看工作区、暂存区状态
例如: 删除方法:(删除的是工作区的文件)
添加操作:git add [file name] 将工作区的“新建/修改”添加到暂存区 若需要移除该文件,则需要使用 git rm --cached 命令: 提交操作:git commit -m?"commit message" [file name] 将暂存区的内容提交到本地库 注意:也可以使用 git commit [file name] 命令进入vim编辑器中进行注释 下面的界面vim编辑器,可以记录你提交该文件的目的(相当于注释) ?提交后: ?若需要修改,则需要进入vim编辑器中进行修改: 对历史版本的查看以及前进后退操作:?查看历史记录的方式:git log (最详细的操作) 多屏显示控制方式: ? ? ? ? 空格向下翻页 ????????b向上翻页 ? ? ? ? q退出 git log --pretty=oneline git? log --oneline ?git reflog ? ? ? ? ?注:HEAD@{移动到当前版本需要的步数} 前进或者后退历史版本的操作:基于索引值操作[推荐]: git reset --hard [局部索引值] 使用^符号:只能后退 git reset --hard HEAD^…^(n个^则表示后退n个版本) 使用~符号:只能后退? git reset --hard HEAD~[后退步数] ?reset命令的三个参数的对比:????????--soft参数: ? ? ? ? ? ? ? ? 仅仅在本地库移动HEAD指针 ????????--mixed参数: ? ? ? ? ? ? ? ? 在本地库移动HEAD指针 ? ? ? ? ? ? ? ? 重置暂存区 ????????--hard参数: ? ? ? ? ? ? ? ? 在本地库移动HEAD指针 ? ? ? ? ? ? ? ? 重置暂存区 ? ? ? ? ? ? ? ? 重置工作区 删除文件后找回:永久删除文件: 注:删除文件的记录不会消失 找回删除的文件:?前提:删除前,文件存在时的状态提交到了本地库 操作:git reset --hard [指针位置] ? ? ? ? 删除操作已经提交到本地库:指针位置指向历史记录 ? ? ? ? 删除操作尚未提交到本地库:指针位置指向HEAD 比较文件差异:? ? ? ? git diff [文件名] ? ? ? ? ? ? ? ? 将工作区中的文件与暂存区中的文件进行比较 ????????git diff [本地库中历史版本] [文件名] ????????????????将工作区中的文件和本地库历史记录比较 ????????不带文件名与多个版本进行比较: 分支管理:????????什么是分支:? ? ? ? ? ? ? ? 在版本控制过程中,使用多条线同时推进多个任务 ? ? ? ? 分支的好处:? ? ? ? ? ? ? ? 同时并行推进多个功能的开发,提高开发效率 ? ? ? ? ? ? ? ? 各个分支在开发的的过程中,某一个分支开发失败,不会对其他分支产生影响。失败的分支删除重新开始即可 ? ? ? ? 分支操作:? ? ? ? ? ? ? ? ????????创建分支:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? git branch [分支名] ? ? ? ? ? ? ? ????????? 查看分支:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? git branch -v ? ? ? ? ? ? ? ? ????????切换分支:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? git checkout [分支名] ? ? ? ? ? ? ????????? ? 合并分支:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第一步:切换到被合并的分支上 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? git checkout [分支名(合并后留下来的)] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第二步:执行merge命令 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?git merge [分支名(合并后消失的,即有新内容的分支)] ? ? ? ? ? ? ????????? ? 解决冲突:?冲突的表现: 前者为当前分支内容,后者为另一分支内容 ?冲突的解决: ? ? ? ? 第一步:编辑文件,删除特殊符号 ? ? ? ? 第二步:把文件修改到满意的程度,保存退出 ????????第三步:git add [文件名] ? ? ? ? 第四步:git commit -m [日志信息] ? ? ? ?????????注意:本次使用 git commit 指令,不能带有文件名 Git 存储文件方式:快照式 提交对象及其父对象形成链条 Git分支管理机制本质:????????创建和移动指针 本地库与远程库的交互:查看当前所有远程地址别名:git remote -v? git remote add [地址别名]?[远程库的地址] 推送操作:? ? ? ? git push [地址别名] [分支名] 克隆操作:????????git clone [远程库的地址] 效果: ????????完整地把远程库下载到本地 ????????创建远程地址别名 ????????初始化本地库 拉取: ? ? ? ? pull=fetch+merge ? ? ? ? git fetch [远程库地址别名] [远程分支名] ? ? ? ? git merge [远程库地址别名/远程分支名] 解决冲突:? ? ? ? 要点: ? ? ? ? ? ? ? ? 如果不是基于GitHub远程库的最新版所做的修改,不能推送,必须先拉取 ? ? ? ? ? ? ? ? 拉取下来后如果进入冲突状态,则按照“分支冲突解决”操作解决即可 跨团队协作:? ? ? ? fork ? ? ? ? 本地修改,然后推送到远程 ? ? ? ? pull request ? ? ? ? 审核代码 ????????合并代码 ? ? ? ? 将远程库修改拉取到本地 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/15 10:24:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |