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

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

 

 

相关文章:

  • 2024-03-28 Java8之Collectors类
  • MybatisPlus速成
  • Hive查询转换与Hadoop生态系统引擎与优势
  • python---基础(一)
  • 发生播放错误,即将重试 jellyfin
  • 集合框架——Map
  • MySQL索引特性
  • 备考ICA----Istio实验12---配置双向TLS Istio Ingress Gateway实验
  • 【Web自动化】Selenium的使用(一)
  • C# OpenCvSharp 轮廓检测
  • 每天学习一个Linux命令之uniq
  • Python爬虫-懂车帝城市销量榜单
  • BabySQL【2019极客大挑战】
  • 前端小白的学习之路(webpack)
  • python安装删除以及pip的使用
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 【Amaple教程】5. 插件
  • ➹使用webpack配置多页面应用(MPA)
  • Babel配置的不完全指南
  • extjs4学习之配置
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • JDK 6和JDK 7中的substring()方法
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Magento 1.x 中文订单打印乱码
  • python_bomb----数据类型总结
  • Python进阶细节
  • React中的“虫洞”——Context
  • redis学习笔记(三):列表、集合、有序集合
  • text-decoration与color属性
  • 闭包,sync使用细节
  • 关于springcloud Gateway中的限流
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 算法系列——算法入门之递归分而治之思想的实现
  • 微信小程序实战练习(仿五洲到家微信版)
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 终端用户监控:真实用户监控还是模拟监控?
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • #AngularJS#$sce.trustAsResourceUrl
  • #etcd#安装时出错
  • (06)Hive——正则表达式
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (libusb) usb口自动刷新
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • .gitignore文件_Git:.gitignore
  • .Net 4.0并行库实用性演练
  • .NET CORE Aws S3 使用
  • .NET 读取 JSON格式的数据
  • .net开发引用程序集提示没有强名称的解决办法
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @ModelAttribute注解使用
  • [AI]ChatGPT4 与 ChatGPT3.5 区别有多大