【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。

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv9改进策略 :block优化 | 无需TokenMixer也能达成SOTA性能的极简ViT架构 | CVPR2023 RIFormer

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文改进内容&#xff1a; token mixer被验证能够大幅度提升性能&#xff0c;但典型的token mixer为自注意力机制&#xff0c;推理耗时长&#xff0c;计算代价大&#xff0c;而RIFormers是无需TokenMixer也能达成SOTA性能的极简ViT架构…

2024总结的vue3的面试题

一、vue2和vue3的区别 答案&#xff1a; 1、数据绑定原理不同 vue2&#xff1a;vue2的数据绑定是利用ES5的一个API&#xff1a;Object.definePropert() 对数据进行劫持&#xff0c;结合发布订阅模式的方式来实现的。 vue3&#xff1a;vue3中使用了ES6的Proxy API对数据代理…

linux提权笔记

1 linux提权简介 Linux提权&#xff0c;简单来说&#xff0c;就是用户尝试获取高于其当前权限级别的系统访问权限的过程。在Linux系统中&#xff0c;root用户拥有最高的权限&#xff0c;能够执行任何操作&#xff0c;包括修改系统文件、安装软件、管理用户账户等。而普通用户通…

为什么写博客对程序员很重要

之前写过一段时间博客&#xff0c;但是后面半途而废了。最近开始频繁更新&#xff0c;把自己一些学习心得系统得整理后发布出来&#xff0c;希望以后能够坚持写下去。 写博客对程序员有多重要&#xff1f;这个是自己在反思的一个问题&#xff0c;上下班在地铁上想&#xff0c;…

HCIP---MGRE和GRE实验

一、配置ip R1: [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 [R1-GigabitEthernet0/0/0]int s4/0/0 [R1-Serial4/0/0]ip add 15.1.1.1 24 [R1]ip route-static 0.0.0.0 0 15.1.1.5 R2: [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip add 192.168.2.2…

VsCode正确解决vue3+Eslint+prettier+Vetur的配置冲突

手把手教你VsCode正确解决vue3EslintprettierVetur的配置冲突 VsCode正确解决vue3EslintprettierVetur的配置冲突Eslint文档查看和修改规则&#xff1a;step1&#xff1a;首先快速浏览下规则简要setp2: ctrlF 搜索你要配置规则的英文名&#xff0c;例如attributesetp3: 修改配置…

2024最新华为OD机试试题库全 -【两个字符串间的最短路径问题】- C卷

1. 🌈题目详情 1.1 ⚠️题目 给定两个字符串,分别为字符串 A 与字符串 B。 例如 A字符串为 “ABCABBA”,B字符串为 “CBABAC” 可以得到下图 m * n 的二维数组,定义原点为(0,0),终点为(m,n),水平与垂直的每一条边距离为1,映射成坐标系如下图。 从原点 (0,0) 到 (0,…

【Vue3源码学习】— CH2.6 effect.ts:详解

effect.ts&#xff1a;详解 1. 理解activeEffect1.1 定义1.2 通过一个例子来说明这个过程a. 副作用函数的初始化b. 执行副作用函数前c. 访问state.countd. get拦截器中的track调用e. 修改state.count时的set拦截器f. trigger函数中的依赖重新执行 1.3 实战应用1.4 activeEffect…

[幻灯片]软件需求设计方法学全程实例剖析-03-业务用例图和业务序列图

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 pdf已上传至本号的CSDN资源&#xff0c;或到以下地址下载&#xff1a; http://umlchina.com/training/umlchina_03_bm.pdf

蓝队面经(一)

蓝队面经(一) 文章目录 蓝队面经(一)入侵排查思路windows入侵排查思路Linux入侵排查思路 Linux 如何查看登录日志Windows 和 Linux 的日志文件放在哪里&#xff1f;WindowsLinux Linux 常用排查命令有哪些&#xff1f;Linux 的 Selinux 是什么&#xff1f;如何设置 Selinux&…

【linux课设】自主实现shell命令行解释器

shell和bash的关系 shell是命令解释器&#xff0c;它接收用户的命令并将其传递给内核去执行。bash,即GNU Bourne-Again Shell&#xff0c;是shell的一种实现方式&#xff0c;也是大多数linux系统下默认的shell。 bash的原理 大多数的指令进程&#xff08;除了内建命令&#…

【如何解决一些常见的 Composer 错误的保姆级讲解】

&#x1f308;个人主页:程序员不想敲代码啊&#x1f308; &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f3c6; &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提…

【企业动态】成都九号诶艾科技有限公司基本信息

成都九号诶艾科技有限公司基本情况概述 公司基本信息 成都九号诶艾科技有限公司成立于2023年7月4日,位于中国(四川)自由贸易试验区成都高新区。该公司主要从事人工智能应用软件开发、人工智能基础软件开发以及互联网数据服务等相关业务。此外,九号诶艾科技还涉足旅游开发项…

如何撰写研究论文

SEVENTYFOUR/SHUTTERSTOCK 即使对于有经验的作家来说&#xff0c;将数月或数年的研究浓缩到几页纸中也是一项艰巨的任务。作者需要在令人信服地解决他们的科学问题和详细地呈现他们的结果之间找到最佳平衡点&#xff0c;以至于丢失了关键信息。他们必须简明扼要地描述他们的方…

Android开发 OCR:通过Tesseract实现图片文字识别

下面是整个详解步骤过程 效果图一、OCR的含义二、什么是Tesseract三、前提准备1、添加依赖2、数据文件下载路径 四、实际代码案例Demo如下&#xff1a;Main.xmlMain.java 效果图 流程&#xff1a;获取assets中的图片显示到页面&#xff0c;提取照片内的文字 一、OCR的含义 o…

YoloV8实战:使用YoloV8检测钢材表面缺陷

摘要 本文讲解一下实战,使用YoloV8检测钢材表面缺陷。起因是有粉丝搞不定这个数据集,检测的时候出现了不收敛的情况。所以,给大家讲讲如何去做。 不收敛的原因 一般遇到不收敛的情况,就是数据转化的时候出错了,大家可以打开runs下面的训练日志,观察一下是否正常。 如…

揭秘谷歌Gemini Pro 1.5:如何免费体验处理超长对话的AI模型?

最近Google发布大模型API&#xff0c;让人有点想哭的那种。 他们发布了Gemini Pro&#xff0c;这个东西的免费key每分钟能调用60次&#xff01; 想想看&#xff0c;这速度&#xff0c;比GPT-3.5以前的免费key快了30倍不止。 而且&#xff0c;更厉害的是&#xff0c;即使是Ge…

C语言中的文件和文件操作

目录 为什么会有文件&#xff1f; 文件名 ⼆进制⽂件和⽂本⽂件&#xff1f; ⽂件的打开和关闭 流 标准流 ⽂件指针 ⽂件的打开和关闭 顺序读写函数介绍 对⽐⼀组函数&#xff1a; 文件的随机读写 fseek ftell rewind ⽂件读取结束的判定 被错误使⽤的 feof ⽂件…

TouchGFX之文本区域

文本区域在屏幕上显示文本。 文本区域的文本在大小、颜色、自定义字体、动态文本等方面是完全可以配置的 #ifndef TOUCHGFX_TEXTAREA_HPP #define TOUCHGFX_TEXTAREA_HPP #include <touchgfx/Font.hpp> #include <touchgfx/TextProvider.hpp> #include <touchg…

软件设计不是CRUD(16):低耦合模块设计理论——行为抽象与设计模式(下)

(接上文《软件设计不是CRUD(15):低耦合模块设计理论——行为抽象与设计模式(中)》) 3.2.4、之前的业务逻辑需要关注后续逻辑的执行成败,并调整自身执行的情况 这个场景在之前场景的基础上增加了新的控制要求,具体来说就是之前已经完成的控制逻辑执行,需要在后续控制…