学习git后,真正在项目中如何使用?
文章目录
- 前言
- 下载和安装Git
- 克隆远程仓库
- PyCharm链接本地Git
- 创建分支
- 修改项目工程并提交到本地仓库
- 推送到远程仓库
- 小结
前言
网上学习git的教程,甚至还有很多可视化很好的git教程,入门git也不是什么难事。但我发现,当我真的要从网上克隆一个项目、修改并上传到远程仓库中时,我还是有些不知如何下手,即使我知道一些简单的git知识。因此,我在此记录下了一个简单的从下载、安装Git,到在本地和IDE修改项目,最后再同步到远程仓库的过程,以做学习和回顾之用。
Git的可视化学习:Learn Git Branching
Git简单教程:Git 教程 | 菜鸟教程 (runoob.com)
下载和安装Git
Git的下载和配置还是很简单和清晰的。
- 首先在Git官网下载。 Git - Downloading Package (git-scm.com)
- 安装我一路都是默认的,但是如果你对其中某些选项有要求,或者不清晰,可以查看这个博客:超级详细的GitBash使用教程01:下载、安装(适合小白)_git bash安装-CSDN博客,这个博客还是比较清晰地针对安装过程中每个选项都进行了注释;
- 安装完成后,打开cmd,输入
git
, 如果出现如下图所示就安装成功了。
克隆远程仓库
通过git克隆远程仓库的操作也有很多,我这里使用的是一种比较简单的。
-
在资源管理器中打开到你想将克隆文件保存的文件夹;
-
右击,选择
Open Git Bash here
-
然后输入
git clone +仓库
我这里克隆的gitee上的一个项目,我之前进行克隆过了,就没有真正执行克隆。
PyCharm链接本地Git
由于之前的项目使用PyCharm,因此我也继续沿用PyCharm。但可能你本地已经安装了 Git,但是 PyCharm 却提示没有 Git 工具,可能是因为 PyCharm 没有找到 Git 工具的路径或者没有正确设置 Git 工具路径。
你可以在 PyCharm 中进行如下操作来配置 Git 工具路径:
- 打开 PyCharm,在菜单栏中选择 File -> Settings(或者按下快捷键 Ctrl + Alt + S)打开设置页面。
- 在设置页面左侧的列表中找到 Version Control 选项,并展开此选项。
- 在展开的 Version Control 选项中,找到 Git 选项,并点击进入 Git 配置页面。
- 在 Git 配置页面中,可以看到 Git 工具的路径配置信息。确保路径设置正确,如果没有设置或者路径不正确,通过 Edit 按钮来设置正确的路径。
- 设置之后,还可以点击测试,如果成功会显示Git的版本。
创建分支
在从网上克隆仓库之后,由于这个仓库我是参与者(如果你不是参与者,也可以了解创建分支的过程),我可以对远程仓库进行创建分支、合并等操作。
因此,在我克隆仓库下来后,我希望现在就创建一个分支,以便之后上传到远程仓库。
创建分支并将head移动当前分支
-
首先打开该项目所在的文件夹, 右击,点击
Open Git Bash here
-
执行
git branch branch1
, 创建一个名为“branch1”的新分支; -
执行
git checkout branch1
或者git switch branch1
, 将head指向分支“branch1”;git 2.23版本中引入了新的命令来替代checkout, checkout作为单个命令承载了很多独立的功能。
-
上面两步也可以合并为一步
git checkout -b branch
创建并指向分支“branch1”
修改项目工程并提交到本地仓库
在进行修改完成之后,需要将工作区中修改的内容同步到本地仓库(我的以下截图与之前的截图不同属于一个仓库,只是为了说明Git的流程)
- 执行
git status
查看仓库当前的状态,显示有变更的文件。
- 执行
git add .
将所有有变更的文件添加到暂存区
- 执行
git commit
将所有新文件提交到本地仓库
git commit -m [message] -m后面跟一些提交的备注信息,如果不写的话,会跳出一个界面让我们写备注信息
以上即为跳出的让我们写备注信息的界面
推送到远程仓库
- 如果你是已经链接了远程仓库,直接执行
git push origin master
, 将本地的 master 分支推送到 origin 主机的 master 分支。
-
如果你是像前面一样,是创建了分支,则将master改成分支名字进行推送;
-
如果是没有链接到远程仓库,而只是本地仓库,则首先需要添加一个新的远程仓库。指定一个远程仓库的名称和 URL,将其添加到当前仓库中。
git remote add origin [远程仓库url]
这里由于我添加过远程仓库了就没有执行该行命令。
现在已经走完了主要Git的工作流程。
小结
本文主要简单介绍了Git操作从开始一个项目到推送到远程仓库中的一连串操作。在这个人人都知道版本管理的时候,往往像我这样的小白却不知如何开始使用,网上的操作往往很全面,但是在什么时候怎么做该怎么用,却不是连贯的介绍。因此希望本文能够给你带来一点Git学习方面的作用。
如果您觉得我写的不错,麻烦给我一个免费的赞!如果内容中有错误,也欢迎向我反馈。
相关文章:

学习git后,真正在项目中如何使用?
文章目录 前言下载和安装Git克隆远程仓库PyCharm链接本地Git创建分支修改项目工程并提交到本地仓库推送到远程仓库小结 前言 网上学习git的教程,甚至还有很多可视化很好的git教程,入门git也不是什么难事。但我发现,当我真的要从网上克隆一个…...

Qt国际化翻译Linguist使用
QT的国际化是非常方便的,简单的说就是QT有自带的翻译工具把我们源代码中的字符串翻译成任何语言文件,再把这个语言文件加载到项目中就可以显示不同的语言。下面直接上手: 步骤一:打开pro文件,添加:TRANSLA…...

ShardingSphere数据分片之分表操作
1、概述 Apache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。 Apache ShardingSphere 设计哲学为 Database Plus,旨在构建异构数据库上…...

基于ssm鲸落文化线上体验馆论文
摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本鲸落文化线上体验馆就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信…...

LeetCode Hot100 131.分割回文串
题目: 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 方法:灵神-子集型回溯 假设每对相邻字符之间有个逗号,那么就看…...

SAP UI5 walkthrough step9 Component Configuration
在之前的章节中,我们已经介绍完了MVC的架构和实现,现在我们来讲一下,SAPUI5的结构 这一步,我们将所有的UI资产从index.html里面独立封装在一个组件里面 这样组件就变得独立,可复用了。这样,无所什么时候我…...

【数据结构和算法】--- 栈
目录 栈的概念及结构栈的实现初始化栈入栈出栈其他一些栈函数 小结栈相关的题目 栈的概念及结构 栈是一种特殊的线性表。相比于链表和顺序表,栈只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的…...
CentOS7.0 下rpm安装MySQL5.5.60
下载 下载路径: MySQL :: Download MySQL Community Server -->looking for the latest GA version-->5.5.60 此压缩包中有多个rpm包 有四个不是必须的,只需安装这三个 MySQL-server-5.5.60-1.el6.x86_64 MySQL-devel-5.5.60-1.el6.x86_64 MySQL-client-5.5.60-1.el6.x8…...

智慧能源:数字孪生压缩空气储能管控平台
压缩空气储能在解决可再生能源不稳定性和提供可靠能源供应方面具有重要的优势。压缩空气储能,是指在电网负荷低谷期将电能用于压缩空气,在电网负荷高峰期释放压缩空气推动汽轮机发电的储能方式。通过提高能量转换效率、增加储能密度、快速启动和调节能力…...

【链表OJ—反转链表】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1、反转链表题目: 2、方法讲解: 解法一: 解法二: 总结 前言 世上有两种耀眼的光芒,一种是正在升起的太…...

TCP一对一聊天
客户端 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.IOException; import java.io…...

基于Java的招聘系统的设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…...

spring boot整合mybatis进行部门管理管理的增删改查
部门列表查询: 功能实现: 需求:查询数据库表中的所有部门数据,展示在页面上。 准备工作: 准备数据库表dept(部门表),实体类Dept。在项目中引入mybatis的起步依赖,mysql的…...

微软 Power Platform 零基础 Power Pages 网页搭建高阶实际案例实践(四)
微软 Power Platform 零基础 Power Pages 网页搭建教程之高阶案例实践学习(四) Power Pages 实际案例学习进阶 微软 Power Platform 零基础 Power Pages 网页搭建教程之高阶案例实践学习(四)1、新增视图,添加List页面2…...

如何在任何STM32上面安装micro_ros
就我知道的:micro-ros只能在特定的昂贵的开发板上面运行,但是偶然发现了这个文章,似乎提供了一个全新的方式来在ros2和单片机之间通讯,如果能够这样肯定也能够提高效率,但即使不行,使用串口库也应该比较简单…...

肖sir__ 项目讲解__项目数据
项目时间: 情况一:项目时间开始到上线的时间,这个时间一般比较长(一年,二年,三年) 情况二:项目的版本的时间或则是周期(1个月,2个月,3个月&…...

微服务实战系列之J2Cache
前言 经过近几天陆续发布Cache系列博文,博主已对业界主流的缓存工具进行了基本介绍,当然也提到了一些基本技巧。相信各位盆友看见这么多Cache工具后,在选型上一定存在某些偏爱: A同学说:不管业务千变万化,…...

12.ROS导航模块:gmapping、AMCL、map_server、move_base案例
目录 1 导航概述 2 导航简介 2.1 导航模块简介 1.全局地图 2.自身定位 3.路径规划 4.运动控制 5.环境感知 2.2 导航坐标系odom、map 1.简介 2.特点 3.坐标系变换 2.3 导航条件说明 1.硬件 2.软件 3 导航实现 3.1 创建本篇博客的功能包 3.2 建图--gmapping 3.…...

C++中string类的使用
一.string类 1.1为什么学习string类? C 语言中,字符串是以 \0 结尾的一些字符的集合,为了操作方便, C 标准库中提供了一些 str 系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP 的思想&#x…...
LeeCode每日刷题12.8
搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: …...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...