【Linux】pycharmgit相关操作

目录

  • 1. git安装配置
  • 2. 相关内容
  • 3. pycharm连接远程仓库
    • 3.1 配置
    • 3.2 clone远程仓库
    • 3.3 本地仓库上传远程
  • 4. 分支管理
    • 4.1 更新代码
    • 4.2 新建分支
    • 4.3 分支合并
    • 4.4 代码比对
  • 5. 版本管理
  • 6. 命令行操作
    • 6.1 配置git
    • 6.2 基础操作
    • 6.3 分支操作

1. git安装配置

下载链接:官网
下载后直接运行安装,cmd输入git --version查看是否安装成功

2. 相关内容

git涉及到的一些具体名词1

  • 仓库(Repository)
    一个 Git 仓库是项目的存储空间,包含项目文件和版本历史记录。可以是本地仓库(Local Repository)或远程仓库(Remote Repository)。
  • 工作区(Working Directory)
    工作区是你在电脑上能看到的项目目录,包含项目文件和子文件夹。
  • 暂存区(Staging Area)
    暂存区是一个中间区域,用于存放将要提交的修改。在提交前,你需要将修改先添加到暂存区。
  • 提交(Commit)
    提交是对工作区和暂存区的修改进行保存的操作。每次提交都有一个唯一的标识符(哈希值),并包含了修改的描述信息。
  • 分支(Branch)
    分支是项目的一个工作线,可以创建新的分支用于开发新功能或修复 bug,然后将其合并回主分支。
  • 主分支(Main/Branch)
    主分支是项目的默认分支,通常被称为 master 或 main,是项目的主要开发线。
  • 远程仓库(Remote Repository)
    远程仓库是托管在网络上的项目副本,可以在 GitHub、GitLab、Bitbucket 等平台上进行多人协作。
  • 克隆(Clone)
    克隆是从远程仓库复制整个项目到本地,创建一个本地仓库的副本。
  • 拉取(Pull)
    拉取是从远程仓库获取最新修改,将远程仓库的变化更新到本地。
  • 推送(Push)
    推送是将本地的修改上传到远程仓库,使得远程仓库也包含最新的工作。
  • 合并(Merge)
    合并是将不同分支的修改合并到一起,通常用于将新功能或修复的代码合并回主分支。
  • 冲突(Conflict)
    冲突发生在合并分支时,表示有两处或多处修改互相冲突,需要手动解决。

3. pycharm连接远程仓库

3.1 配置

【settings】 -> 【version control】 -> 【git】
通常来说git的路径可以自动检测到,点击test可以查看版本
在这里插入图片描述
关联本地和远程,以github为例:
方法一:账号密码登录。
pycharm界面【settings】 -> 【version control】 -> 【github】,使用github的账号密码登录

方法二:token登录
在个人的github页面上点击【settings】->【developer settings】->【personal access tokens】-> 【tokens】->【generate new tokens】
多选框全选:
在这里插入图片描述
复制绿色的内容:
在这里插入图片描述
在pycharm界面的github里选择token验证,输入刚刚的绿色内容:
在这里插入图片描述
生成账号后点apply即可。

3.2 clone远程仓库

以github某项目为例,有两种方法:https和ssh,都可以在clone操作后更新远程。前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。

方法一:ssh克隆

  • 检验是否之前生成过密钥
    打开git bash,输入cd ~/.ssh,成功则代表有密钥

  • 打开cmd输入命令生成密钥

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

通常密码和位置都可以设置为空,最终生成了密钥

  • 获取密钥
cat ~/.ssh/id_rsa.pub
  • github配置
    【settings】->【ssh and GPG keys】->【new ssh keys】,输入生成的密钥
    在这里插入图片描述
  • 验证配置
ssh -T git@github.com
  • 获取ssh clone url
    点击GitHub clone选择ssh
    在这里插入图片描述
  • pycharm clone
    【vcs】->【checkout from version control】,输入url

方法二:https克隆(推荐)
【vcs】-> 【checkout from version control】->【git】,输入http远程仓库地址,地址可以在github界面获取
在这里插入图片描述
在这里插入图片描述

3.3 本地仓库上传远程

在pycharm中【vcs】->【import into version control】->【share project on github】。
在这里插入图片描述

4. 分支管理

由于项目可能存在不同的业务面,需要在不同的分支上进行操作,基本操作包括以下内容2

4.1 更新代码

更新本地代码后需要先commit再push,同步修改远程.

  • commit: 保存代码变更到本地仓库
  • push:同步远程和本地仓库

4.2 新建分支

通常来说不直接在master分支上做修改,而是新建不同的分支实现不同功能。
在这里插入图片描述
新建完成后选中新分支,点击checkout切换,此时对代码的修改将不会影响master。

4.3 分支合并

在各个分支上实现不同的功能后需要与master分支进行合并,最终的项目都会由master分支代码呈现。合并操作在push完各个分支后才能操作。
切换到master分支,对dev进行合并:
在这里插入图片描述

4.4 代码比对

代码比对主要包括不同分支的比对以及对某分支进行历史记录比对。

5. 版本管理

pycharm中提供了tag用于进行代码版本管理。
创建tag:
方法一:
在这里插入图片描述
方法二:
【version control】->【log】选择版本创建tag
在这里插入图片描述
tag创建好后需要push到远程,注意要勾选左下角的push tag
在这里插入图片描述

6. 命令行操作

6.1 配置git

  • 设置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
  • 查看当前配置
git config --list

6.2 基础操作

  • 创建仓库
git init
  • 克隆仓库
git clone <repository_url>
  • 提交代码
git commit -m "Your commit message"
  • 查看提交历史
git log
  • 从远程仓库拉取更新
git pull
  • 推送到远程仓库
git push origin <branch_name>

6.3 分支操作

  • 创建分支
git branch <branch_name>
  • 切换分支
git checkout <branch_name>
  • 合并分支
git merge <branch_name>
  • 删除分支
git branch -d <branch_name>

  1. https://blog.csdn.net/qq_45281589/article/details/134650456 ↩︎

  2. https://blog.csdn.net/Q0717168/article/details/108719275 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/28304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

07--Zabbix监控告警

前言&#xff1a;和普米一样运维必会的技能&#xff0c;这里总结一下&#xff0c;适用范围非常广泛&#xff0c;有图形化界面&#xff0c;能帮助运维极快确定问题所在&#xff0c;这里记录下概念和基础操作。 1、zabbix简介 Zabbix是一个基于 Web 界面的企业级开源解决方案&a…

【C++】C++入门的杂碎知识点

思维导图大纲&#xff1a; namespac命名空间 什么是namespace命名空间namespace命名空间有什么用 什么是命名空间 namespace命名空间是一种域&#xff0c;它可以将内部的成员隔绝起来。举个例子&#xff0c;我们都知道有全局变量和局部变量&#xff0c;全局变量存在于全局域…

SQLAlchemy:filter()和filter_by()的微妙差异

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 在Python编程中&#xff0c;SQLAlchemy是一个强大的ORM&#xff08;对象关系映射&#xff09;工具&#xff0c;它允许使用Python代码来操作数据库。然而&#xff0c;对于新手来说&#xff0c;SQLAlchemy中的一些函数…

mybatis-plus使用拦截器实现sql完整打印

shigen坚持更新文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 个人IP&#xff1a;shigen 在使用mybatis-plus&#xff08;mybatis&#xff09;的时候&#xff0c;往往需要…

英伟达开源最强通用模型Nemotron-4 340B:开启AI合成数据新纪元

【震撼发布】 英伟达最新力作——Nemotron-4 340B,一个拥有3400亿参数的超级通用模型,震撼登场!这不仅是技术的一大飞跃,更是AI领域的一次革命性突破! 【性能卓越】 Nemotron-4 340B以其卓越的性能超越了Llama-3,专为合成数据而生。它将为医疗健康、金融、制造、零售等行…

Studio One 6.6.2 for Mac怎么激活,有Studio One 6激活码吗?

如果您是一名音乐制作人&#xff0c;您是否曾经为了寻找一个合适的音频工作站而苦恼过&#xff1f;Studio One 6 for Mac是一款非常适合您的MacBook的音频工作站。它可以帮助您轻松地录制、编辑、混音和发布您的音乐作品。 Studio One 6.6.2 for Mac具有直观的界面和强大的功能…

C++初学者指南第一步---1. C++开发环境设置

C初学者指南第一步—1. C开发环境设置 目录 C初学者指南第一步---1. C开发环境设置1.1 工具1.1.1 代码编辑器和IDE1.1.2 Windows1.1.3 命令行界面 1.2 编译器1.2.1 gcc/g (支持Linux/Windows/MacOSX)1.2.2 clang/clang (支持Linux/Windows/MacOS)1.2.3 Microsoft Visual Studio…

《面向对象程序设计》第3章 类与对象(判断、选择、填空)-练习

1-1 常量对象可以使用常量成员函数。 T F | 参考答案 答案 T 2分 1-2 在定义常量成员函数和声明常量成员函数时都应该使用const关键字。 T F | 参考答案 答案 T 2分 1-3 对象间赋值将调用拷贝构造函数。 T F | 参考答案 答案 F 2分 1-4 对象数组生命期…

奇思妙想-可以通过图片闻见味道的设计

奇思妙想-可以通过图片闻见味道的设计 偷闲半日享清闲&#xff0c;炭火烧烤乐无边。肉串飘香引客至&#xff0c;笑语欢声绕云间。人生难得几回醉&#xff0c;且把烦恼抛九天。今宵共饮开怀酒&#xff0c;改日再战新篇章。周四的傍晚&#xff0c;难得的闲暇时光让我与几位挚友相…

PAT B1026. 程序运行时间

题目描述 要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock(&#xff09;函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。同时还有一个常数CLK_TCK——给出了机器时钟每秒所走的时钟打点数…

继电器的保护二极管如何选择

继电器在实际应用中&#xff0c;通常都会使用三极管或MOS管控制&#xff0c;其最基本的应用电路如图&#xff1a; 那为什么要在继电器线圈上并联一个二极管呢&#xff1f;我们可以看看没有并联二极管时电路会出现什么情况&#xff0c;我们使用下图所示的电路参数仿真一下&#…

食家巷助力“甘肃乡村振兴,百强主播·打call 甘味”活动

2024年&#xff0c;甘肃省“商务乡村振兴”促消费暨“百强主播打call 甘味”活动在天水市龙城广场盛大启动。 活动现场&#xff0c;来自甘肃省 14 个市州的农特产品展台琳琅满目&#xff0c;让人目不暇接。此次活动中&#xff0c;各企业带来了多款深受消费者喜爱的产品&a…

【AI实践】Dify调用本地和在线模型服务

背景 Ollama可以本地部署模型&#xff0c;如何集成私有数据、如何外部应用程序对接&#xff0c;因此需要有一个应用开发框架 Dify功能介绍 欢迎使用 Dify | 中文 | Dify 下文将把dify部署在PC上&#xff0c;windows环境&#xff1b; 安装部署 安装dify及docker jacobJacobs…

【图解IO与Netty系列】Netty源码解析——服务端启动

Netty源码解析——服务端启动 Netty案例复习Netty原理复习Netty服务端启动源码解析bind(int)initAndRegister()channelFactory.newChannel()init(channel)config().group().register(channel)startThread()run()register0(ChannelPromise promise)doBind0(...) 今天我们一起来学…

ssm162基于SSM的药房药品采购集中管理系统的设计与实现+vue

药房药品采购集中管理系统的设计与实现 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对药房药品采购信息管理混乱&…

购物车店铺列表查询流程

购物车店铺列表查询流程 购物车结算流程图

【Git】基础操作

初识Git 版本控制的方式&#xff1a; 集中式版本控制工具&#xff1a;版本库是集中存放在中央服务器的&#xff0c;team里每个人work时从中央服务器下载代码&#xff0c;是必须联网才能工作&#xff0c;局域网或者互联网。个人修改之后要提交到中央版本库 例如&#xff1a;SVM和…

如何选择合适的大模型框架:LangChain、LlamaIndex、Haystack 还是 Hugging Face

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…

小北Chat GPT4o 文生图初体验~

前言 在人工智能领域中&#xff0c;生成图像和文本的技术一直在不断进步。OpenAI的Chat GPT-4结合DALL-E技术&#xff0c;为用户提供了一种全新的创作体验——通过文字生成图像。在这篇博客中&#xff0c;小北将分享几次与Chat GPT-4合作的创作过程&#xff0c;展示从文字描述到…

redis aof写入以及aof重写的源码分析

这里写目录标题 版本aof的面试问题aof正常写入流程aof重写流程 版本 redis&#xff1a;6.2.7 aof的面试问题 最近找工作&#xff0c;面试被问倒了&#xff0c;记录一下 比如redis的aof指令会不会丢失&#xff1f;比如在重写aof的什么新来的操作怎么办&#xff1f; 在重写的…