当前位置: 首页 > news >正文

学习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, 如果出现如下图所示就安装成功了。

cmd中git

克隆远程仓库

通过git克隆远程仓库的操作也有很多,我这里使用的是一种比较简单的。

  • 在资源管理器中打开到你想将克隆文件保存的文件夹;

  • 右击,选择 Open Git Bash here

  • 然后输入 git clone +仓库

我这里克隆的gitee上的一个项目,我之前进行克隆过了,就没有真正执行克隆。

克隆仓库举例

PyCharm链接本地Git

由于之前的项目使用PyCharm,因此我也继续沿用PyCharm。但可能你本地已经安装了 Git,但是 PyCharm 却提示没有 Git 工具,可能是因为 PyCharm 没有找到 Git 工具的路径或者没有正确设置 Git 工具路径。

你可以在 PyCharm 中进行如下操作来配置 Git 工具路径:

  1. 打开 PyCharm,在菜单栏中选择 File -> Settings(或者按下快捷键 Ctrl + Alt + S)打开设置页面。
  2. 在设置页面左侧的列表中找到 Version Control 选项,并展开此选项。
  3. 在展开的 Version Control 选项中,找到 Git 选项,并点击进入 Git 配置页面。
  4. 在 Git 配置页面中,可以看到 Git 工具的路径配置信息。确保路径设置正确,如果没有设置或者路径不正确,通过 Edit 按钮来设置正确的路径。
  5. 设置之后,还可以点击测试,如果成功会显示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的流程)

  1. 执行 git status 查看仓库当前的状态,显示有变更的文件。

  1. 执行git add .将所有有变更的文件添加到暂存区

  1. 执行 git commit 将所有新文件提交到本地仓库
git commit -m [message]  -m后面跟一些提交的备注信息,如果不写的话,会跳出一个界面让我们写备注信息

没有加-m

以上即为跳出的让我们写备注信息的界面

推送到远程仓库

  1. 如果你是已经链接了远程仓库,直接执行 git push origin master, 将本地的 master 分支推送到 origin 主机的 master 分支。

  1. 如果你是像前面一样,是创建了分支,则将master改成分支名字进行推送;

  2. 如果是没有链接到远程仓库,而只是本地仓库,则首先需要添加一个新的远程仓库。指定一个远程仓库的名称和 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 输出: …...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...