【Git项目部署到本地仓库】

1. 下载安装Git

根据您的操作系统,访问Git的官方网站:https://git-scm.com/download/win

具体安装教程请访问其他博客,例如:http://t.csdnimg.cn/I28VO

安装完成后,您可以通过在win+R键输入cmd打开命令行输入

git -v

来检查Git是否正确安装。如果正确安装,将显示Git的版本号。b7fa34f4132742ae9358408984acca33.png

2. Git本地仓库的创建和配置

在命令行中,导航到您想要创建Git仓库的目录,例如,如果您的项目在~/my_project目录下,您可以使用cmd命令进入该目录。然后运行git init命令初始化一个新的Git仓库。

配置Git用户名和邮箱地址是非常重要的,因为这些信息将用于标识您在Git中的提交。使用git config命令进行配置,如下所示:

git config --global user.name "用户名" 
git config --global user.email "邮箱地址"

检验当前Git绑定的用户名和邮箱,您可以使用git config命令来查询这些配置信息。请按照以下步骤操作:

  1. 打开命令行工具(如终端或命令提示符)。

  2. 输入以下命令来查看全局设置中的用户名:

    git config --global user.name
这个命令会显示您在全局设置中配置的用户名。如果您没有在全局设置中配置用户名,它将不会返回任何内容。

     3.输入以下命令来查看全局设置中的邮箱地址:

git config --global user.email

这个命令会显示您在全局设置中配置的邮箱地址。同样,如果没有配置,则不会有输出。

ceb3e37b59dd4bd193150c80ae7492e0.png

如果您想要查看当前仓库(局部)的用户名和邮箱设置,可以省略--global选项:

git config user.name 
git config user.email

这些命令会显示在当前仓库级别配置的用户名和邮箱。如果在仓库级别没有特定配置,那么它会回退到全局设置,如果全局设置也没有,那么通常不会有输出。

请注意,如果您从未设置过用户名和邮箱,或者设置被移除了,这些命令可能不会返回任何值。在这种情况下,您应该考虑使用git config --global user.name "Your Name"git config --global user.email "your.email@example.com"命令来设置它们,以确保您的提交有正确的标识信息。

3. 提交项目源程序文件到本地库

要将项目传到本地仓库,你需要先在本地创建一个新的git仓库,然后将项目文件添加到该仓库中。以下是一些基本步骤:

454d16cec8cc4a199d614f3ce4772c54.png

1. 在本地创建一个新的git仓库:

$ mkdir 项目名称
$ cd 项目名称
$ git init

4402c44b45934e75b3a9b0a64da5154a.png

2. 将项目文件复制到新创建的git仓库中:

$ cp -r /path/to/your/project/* .

/后面填路径 

3. 将项目文件添加到git仓库中:

$ git add .
$ git commit -m "Initial commit"

现在你的项目已经被传到本地仓库中了。

如果需要将本地仓库与远程仓库进行关联,可以使用以下命令:

$ git remote add origin 远程仓库URL
$ git push -u origin master

这样就可以将项目从本地仓库推送到远程仓库中了。
 

4. 多次修改并提交源代码文件

假设您修改了~/my_project目录下的main.py文件,您可以再次使用git addgit commit命令来提交这些更改:

git add main.py 
git commit -m "Updated main.py with bug fixes"

您可以重复这个过程多次,每次修改文件并提交更改。

5. 查看文件历史记录和版本差异

使用git log命令可以查看提交历史,包括每次提交的哈希值、作者、日期和提交信息:

git log

要查看main.py文件在两个不同提交之间的差异,您可以使用git diff命令,并指定这两个提交的哈希值:

git diff <commit-hash1> <commit-hash2> -- main.py

<commit-hash1><commit-hash2>替换为您想要比较的两个提交的哈希值。

6. 恢复文件到前面的某个版本

如果您想要将main.py文件恢复到某个特定提交的状态,可以使用git checkout命令。首先,使用git log找到您想要恢复的提交的哈希值,然后执行以下命令:

git checkout <commit-hash> -- main.py
这会将main.py文件的内容恢复到指定提交时的状态。请注意,这不会创建一个新的提交;它只是更改了工作目录中的文件。如果您想要将这个恢复作为一个新的提交,您需要在恢复文件之后再次使用git addgit commit

7. 删除某个提交文件并查看项目状态

要从Git历史中删除某个文件的所有跟踪记录,您可以使用git filter-branch命令。但请注意,这是一个重写历史的操作,可能会影响到与其他仓库的协同工作,因此在使用之前请确保您了解可能带来的后果。

以下是一个使用git filter-branch删除文件的示例:

git filter-branch --force --index-filter "git rm --cached --ignore-unmatch unwanted_file.txt" --prune-empty --tag-name-filter cat -- --all

这个命令会从所有提交中删除unwanted_file.txt的跟踪记录。执行完成后,使用git status命令查看当前项目的状态,确保该文件不再被Git跟踪。

最后,如果您已经将更改推送到了远程仓库,您需要强制推送这些重写历史的更改到远程仓库。但请注意,这可能会影响到其他协作者的工作,因此请务必谨慎操作,并与团队成员进行充分的沟通。

git push origin --force --all
在执行这些操作时,请确保您已经备份了

以上仅供参考,如有操作不当或者出错可自行查找资料或者询问chat-gpt。

 

 

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

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

相关文章

服务器设置了端口映射之后外网还是访问不了服务器

目录 排查思路参考&#xff1a; 1、确认服务是否在运行 2、确认端口映射设置是否正确 3、使用防火墙测试到服务器的连通性 4、检查服务内部的配置 5、解决办法 6、学习小分享 我们在一个完整的网络数据存储服务系统设备中都会存有业务服务器、防火墙、交换机、路由器&a…

实现一个Google身份验证代替短信验证

最近才知道公司还在做国外的业务&#xff0c;要实现一个登陆辅助验证系统。咱们国内是用手机短信做验证&#xff0c;当然 这个google身份验证只是一个辅助验证登陆方式。看一下演示 看到了嘛。 手机下载一个谷歌身份验证器就可以 。 谷歌身份验证器&#xff0c;我本身是一个基…

[springboot源码探索]返回值处理

[springboot源码探索]返回值处理 开始处理返回值 public class ServletInvocableHandlerMethod extends InvocableHandlerMethod {// ...// 返回值处理器组(组合模式,可以理解为一组返回值处理器)private HandlerMethodReturnValueHandlerComposite returnValueHandlers;publ…

编织数据经纬,洞见业务全景:Elasticsearch、Logstash与Kibana的铁三角关系深度解析

在信息化的浪潮中&#xff0c;Elasticsearch、Logstash与Kibana联手构建了一座坚固的数据城堡&#xff0c;被誉为“ELK Stack”。这三者的紧密协作&#xff0c;为企业带来了高效的数据采集、处理与分析能力&#xff0c;有力推动了业务洞察的深度与广度。本文将深入剖析Elastics…

hibernate session管理

hibernate session管理 hibernate自身提供了三种管理session的方法 session对象的生命周期与本地线程绑定 session对象的生命周期与JTA事务绑定 hibernate委托程序管理session对象的生命周期 分别对应于hibernate配置文件中hibernate.current_session_context_class属性的三个值…

C++11标准 - 声明(auto,decltype,nullptr)

C11标准 - 声明&#xff08;auto&#xff0c;decltype&#xff0c;nullptr&#xff09; 前言1. auto2. decltype3. nullptr 前言 c11提供了多种简化声明的方式&#xff0c;尤其是在使用模板时。 1. auto 在C98中auto是一个存储类型的说明符&#xff0c;表明变量是局部自动存…

ChatGPT实体化了!手机变身ChatGPT实体机器人,只需一个配件,能说话还会做梦,真的牛!

你有没有想过&#xff0c;如果有一天ChatGPT有了身体&#xff0c;跑到你办公桌上成了你的宠物&#xff0c;这是个多么有趣的场景&#xff0c;LOOI就是这样一款把幻想带进现实的产品 不得不说&#xff0c;ChatGPT让具身智能达到了新高度&#xff0c;LOOI便应运而生。 分享几个网…

MySQL 数据库的优化

目录 一. 常见故障 单实例常见故障 1. 故障一 2. 故障二 3.故障三 4. 故障四 5. 故障五 6.故障六 7.故障七 8.故障八 主从环境常见故障 1.故障一 2. 故障二 3. 故障三 二. 优化 1.硬件方面 1.1 关于CPU 1.2 关于内存 1.3 关于磁盘 2. 配置文件优化 关于引擎…

什么是HTTP? HTTP 和 HTTPS 的区别?

文章目录 一、HTTP二、HTTPS三、区别参考文献 一、HTTP HTTP (HyperText Transfer Protocol)&#xff0c;即超文本运输协议&#xff0c;是实现网络通信的一种规范 在计算机和网络世界有&#xff0c;存在不同的协议&#xff0c;如广播协议、寻址协议、路由协议等等… 而HTTP是…

聊聊低代码产品的应用场景

随着数字化转型的不断深入&#xff0c;企业对于快速开发和迭代软件应用的需求也越来越迫切。而在这样的背景下&#xff0c;低代码产品应运而生&#xff0c;成为了一种热门的技术解决方案。本文将解读低代码产品的定义并探讨其应用场景。 一、低代码产品的定义 低代码产品是一种…

动态加载json文件

我们知道json文件非常适合离线数据交互。比如定时从一个系统中导出数据到json文件&#xff0c;另外一个系统定时从json文件里导入数据&#xff0c;这两个系统本身不需要有接口和网络连接。下面我们主要说说nodejs加载(导入/读取)json文件的注意事项。 nodejs有多种方法读取json…

DFS(基础,回溯,剪枝,记忆化)搜索

DFS基础 DFS(深度优先搜索) 基于递归求解问题&#xff0c;而针对搜索的过程 对于问题的介入状态叫初始状态&#xff0c;要求的状态叫目标状态 这里的搜索就是对实时产生的状态进行分析检测&#xff0c;直到得到一个目标状态或符合要求的最佳状态为止。对于实时产生新的状态…

Linux系统Docker如何部署Nextcloud结合内网穿透实现公网访问本地资源?

文章目录 1. 安装Docker2. 使用Docker拉取Nextcloud镜像3. 创建并启动Nextcloud容器4. 本地连接测试5. 公网远程访问本地Nextcloud容器5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定公网地址远程访问 本文主要介绍如何在Linux Ubuntu系统使用Docker快速部署Nextcl…

Html提高——视频标签音频标签及其相关属性

HTML5 在不使用插件的情况下&#xff0c;也可以原生的支持音视频格式文件的播放&#xff0c;当然&#xff0c;支持的格式是有限的。 1、video标签 1.1、video标签的语法 <video src"文件地址" controls"controls"></video> video标签的内部…

接口自动化框架Pytest —— 配置文件pytest.ini的详细使用

前言 我们在执行用例的时候&#xff0c;每次都在命令行中输入-v&#xff0c;-s等一些命令行参数的时&#xff0c;比较麻烦。其中pytest.ini这个配置文件可以快速的帮助我们解决这个问题。 配置文件 pytest.ini文件是pytest的主配置文件&#xff0c;可以改变pytest的运行方式…

vue实现在进入页面之前自动刷新一次页面(适用于首次进入页面空白,刷新才显示的问题)

有时候会莫名出现一个问题&#xff0c;首次进入页面的时候空白&#xff0c;刷新才会显示&#xff0c;如果实在排查不到原因&#xff0c;以及如何解决&#xff0c;那就直接在进入页面之前去自动执行一次刷新操作&#xff0c;实现方法如下 <script setup> import {onBefor…

MyBatis报Parameter ‘title‘ not found的Exception 处理

mybatis的操作中抛出了Caused by: org.apache.ibatis.binding.BindingException: Parameter title not found. Available parameters are [1, 0, param1, param2] 原因是什么呢&#xff1f;现在我们通常使用mybatis操作数据库的时候写的都是mapper接口加mapper.xml组合的方式操…

【python】pip清华大学镜像

1、修改pip源为清华源&#xff1a; pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple2、结果是自动给我创建了一个文件&#xff1a; 3、打开这个文件所在的文件夹&#xff1a; 4、打开文件&#xff1a; 5、如果不想指定清华的&#xff0c;就删掉…

提升K8S故障排除效率:详解Pod内抓包的高效策略!

在Kubernetes环境中&#xff0c;故障排除是管理者日常工作中不可或缺的一部分。随着容器化应用的广泛采用&#xff0c;需要一种高效的方法来诊断和解决Pod内部的问题。本文将重点介绍如何利用抓包技术提升Kubernetes环境中Pod内部故障排除的效率。 为什么需要Pod内抓包 在Kube…

【MySQL】DQL-案例练习-DQL基本介绍&语法&执行顺序(代码演示)

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C Linux的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的…