热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

3.Git的基本操作

一、Git的基本工作流程(本地仓库)二、Git命令行操作(应用)三、历史版本切换(理解)1.准

一、Git的基本工作流程(本地仓库)

在这里插入图片描述


二、Git命令行操作(应用)

在这里插入图片描述


三、历史版本切换(理解)

1.准备工作

(1) 查看my_project 文件夹的log日志
git reflog :可以查看所有分支的所有操作记录(包括已经被删除的commit记录的操作)

(2) 增加一次新的修改记录

需求:将代码切换到第二次修改的版本

指令:git reset --hard 版本唯一索引值


四、分支管理介绍

1.分支
(1) 由每次提交的代码,串成一条时间线
(2) 使用分支意味着你可以把你工作从开发的主线上分离开来,以免影响开发主线

2.分支的使用场景
(1) 周期较长的模块开发
假设你准备开发一个新功能,但是需要一个月才能完成;第一周写了百分之二十的代码,突然发现原来已经写好的功能出现一个严重的bug;那现在就需要放下手中的新功能去修复bug;但是这已经写好20%的代码不能舍弃,并且也担心丢失,这就需要开启一个新的版本控制。

(2) 尝试性的模块开发
业务人员给我们提出一个需求,经过我们的思考和分析,该需求应该可以使用技术手段进行实现。但是我们还不敢确定,我们就可以去创建一个分支,然后基于这个分支进行尝试性的开发。

3.分支工作流程
在这里插入图片描述


五、分支管理操作(应用)

1.创建和切换
创建命令:git branch 分支名 切换命令:git checkout 分支名

2.新分支添加文件
查看文件命令:ls 总结:不同分支之间的关系是平行的关系,不会相互影响

3.合并分支
合并命令:git merge 分支名

4.删除分支
删除命令:git branch -d 分支名

5.查看分支列表
查看命令:git branch


六、远程仓库的工作流程

在这里插入图片描述


七、常见的远程仓库平台介绍(理解)

在这里插入图片描述


八、创建远程仓库

步骤:
1.创建本地仓库
2.创建或修改文件,添加(add)文件到暂停区,提交(commit)到本地仓库
3.创建远程仓库
4.推送到远程仓库

创建远程仓库
在这里插入图片描述

生成SSH公钥

1.首先设置Git账户
查看git账户:git config user.name
查看git邮箱:git config user.email
设置全局账户名:git config --global user.name “账户名”
设置全局邮箱:git config --global user.email “邮箱”
查看是否生成过SSH公钥:cd ~/.ssh

2.然后生成SSH公钥
生成命令:ssh-keygen -t rsa -C “邮箱” (注意这里需要敲击三次回车)
在这里插入图片描述

设置账户公钥

在这里插入图片描述

公钥测试
命令:ssh -T git@gitee.com
在这里插入图片描述


九、先有远程仓库,本地为空(应用)

步骤:
1.将远程仓库的代码,克隆到本地仓库。克隆命令:git clone 仓库地址

2.创建新文件,添加并提交到本地仓库

3.推送到远程仓库

4.项目拉取更新。拉取命令:git pull 远程仓库名 分支名


十、代码冲突

1.产生原因
两个程序员操作同一个文件,其中一个程序员在修改文件后,push到远程仓库,另一个程序员应该先pull将最新的代码更新到本地仓库后,再修改代码,之后push到远程仓库,结果他没有先pull将最新的代码更新带本地仓库,而是直接将自己的代码push到远程仓库,这样就可能会导致代码冲突。
在这里插入图片描述

2.如何解决冲突
(1) 修改冲突行,保存,即可解决冲突。
(2) 重新add冲突文件并commit到本地仓库,重新push到远程。


十一、IDEA集成Git

11.1 IDEA中配置Git

1.File -> Settings
在这里插入图片描述
2.Version Control --> Git -->指定git.exe存放目录
在这里插入图片描述
3.点击Test测试
在这里插入图片描述

11.2 创建本地应用

1.VCS->Import into Version Control->Create Git Repository
在这里插入图片描述


  1. 选择工程所在的目录,这样就创建好本地仓库了

在这里插入图片描述


  1. 点击git后边的对勾,将当前项目代码提交到本地仓库
    注意:项目中的配置文件不需要提交到本地仓库中,提交时,忽略掉即可

在这里插入图片描述

11.3 版本切换(应用)

方式一: 控制台Version Control->Log->Reset Current Branch…->Reset
这种切换的特点是会抛弃原来的提交记录
在这里插入图片描述

方式二:控制台Version Control->Log->Revert Commit->Merge->处理代码->commit
这种切换的特点是会当成一个新的提交记录,之前的提交记录也都会保留

在这里插入图片描述
在这里插入图片描述

11.4 分支管理(应用)

1.创建分支
VCS->Git->Branches->New Branch->给分支起名字->ok
在这里插入图片描述

2.切换分支
idea右下角Git->选择要切换的分支->checkout

在这里插入图片描述

3.合并分支
VCS->Git->Merge changes->选择要合并的分支->merge
在这里插入图片描述
在这里插入图片描述
4.删除分支
idea右下角->选中要删除的分支->Delete
在这里插入图片描述

11.5 本地仓库推送到远程仓库(应用)

1.VCS->Git->Push->点击master Define remote
在这里插入图片描述

2.将远程仓库的路径复制过来—>Push
在这里插入图片描述

11.6 远程仓库克隆到本地仓库(应用)

File->Close Project->Checkout from Version Control->Git->指定远程仓库的路径->指定本地存放的路径->clone
在这里插入图片描述


推荐阅读
  • 本文介绍了如何在GitHub上设置多个SSH Key,以解决原有Key失效的问题,并确保不同项目使用不同的私钥进行安全访问。 ... [详细]
  • 本文介绍了如何使用Python的Paramiko库批量更新多台服务器的登录密码。通过示例代码展示了具体实现方法,确保了操作的高效性和安全性。Paramiko库提供了强大的SSH2协议支持,使得远程服务器管理变得更加便捷。此外,文章还详细说明了代码的各个部分,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 本文介绍了如何在 Windows 系统上利用 Docker 构建一个包含 NGINX、PHP、MySQL、Redis 和 Elasticsearch 的集成开发环境。通过详细的步骤说明,帮助开发者快速搭建和配置这一复杂的技术栈,提升开发效率和环境一致性。 ... [详细]
author-avatar
卢嘉怡i
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有