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

Git 完整操作之记录

目录

一 .   Git 基本操作流程及示例代码

1. 初始化 Git 仓库

2. 克隆远程仓库

3. 检查当前状态

4. 添加文件到暂存区

5. 提交更改

6. 查看提交历史

7. 创建分支

8. 切换分支

9. 合并分支

10. 推送更改到远程仓库

11. 拉取远程仓库的更改

12. 回滚到上一个版本

二 .  .gitignore 过滤

1. 基本语法

(1)  忽略文件夹:

(2)  忽略文件:

(3)  忽略某类型文件:

(4)  忽略特定路径的文件或文件夹:

(5)  忽略某一文件夹下的某类型文件:

2. 添加 .gitignore 文件到 Git 仓库

(1)创建或编辑 .gitignore 文件: 在项目的根目录创建 .gitignore 文件,或者编辑现有的 .gitignore 文件。

(2)将 .gitignore 文件添加到 Git 仓库:

(3)移除已被跟踪的文件或文件夹

(4)示例


一 .   Git 基本操作流程及示例代码

以下是一个完整的 Git 基本操作流程和示例代码,包含常见的 Git 命令及其使用示例。

git add .git commit -m '提交数据'git  pull origin devgit  push origin dev
1. 初始化 Git 仓库

如果您还没有 Git 仓库,可以使用以下命令初始化一个新的 Git 仓库:

git init

例如,在当前目录中初始化一个新的 Git 仓库:

mkdir myproject cd myproject git init
2. 克隆远程仓库

如果您要克隆一个现有的远程仓库,可以使用以下命令:

mkdir myproject cd myproject git init

例如,克隆一个 GitHub 仓库:

git clone https://github.com/user/repository.git
3. 检查当前状态

查看工作目录和暂存区的当前状态:

git status
4. 添加文件到暂存区

git add . 和 git add * 区别
git add . 会把本地所有untrack的文件都加入暂存区,并且会根据.gitignore做过滤

git add * 会忽略.gitignore把任何文件都加入

将文件添加到暂存区以便提交:

git add <file-name>

例如,添加一个名为 example.txt 的文件:

git add example.txt

添加所有文件:

git add .
5. 提交更改

将暂存区的更改提交到本地仓库:

git commit -m "Your commit message"
6. 查看提交历史
git log
7. 创建分支
git branch <branch-name>

例如,创建一个名为 feature-branch 的新分支:

git branch feature-branch
8. 切换分支

切换到另一个分支:

git checkout <branch-name>

例如,切换到 feature-branch 分支:

git checkout feature-branch

或者创建并切换到新分支:

git checkout feature-branch

例如:

git checkout -b new-feature
9. 合并分支

将另一个分支合并到当前分支:

git merge <branch-name>

例如,将 feature-branch 分支合并到当前分支:

git merge feature-branch
10. 推送更改到远程仓库

将本地分支推送到远程仓库:

git push origin <branch-name>

例如,将 feature-branch 分支推送到远程:

git push origin feature-branch
11. 拉取远程仓库的更改

从远程仓库拉取最新更改并合并到当前分支:

git pull

从特定分支拉取并合并:

git pull origin <branch-name>

例如,从 main 分支拉取并合并:

git pull origin main
12. 回滚到上一个版本

查看提交历史:

git log

找到目标提交哈希后,回滚到该提交:

git checkout <commit-hash>

例如,回滚到特定提交:

git checkout 1a2b3c4d

硬重置到特定提交(警告:会丢失之后的更改):

git reset --hard <commit-hash>

例如:

git reset --hard 1a2b3c4d

二 .  .gitignore 过滤

在 Git 中,使用 .gitignore 文件来过滤掉不想被跟踪的文件和文件夹

下面是一些常见的 .gitignore 文件的用法和示例规则。

1. 基本语法

(1)  忽略文件夹
/folder_name/

忽略项目根目录中的 folder_name 文件夹及其所有内容。

(2)  忽略文件
filename.ext

忽略项目中的所有 filename.ext 文件。

(3)  忽略某类型文件
*.ext

忽略项目中的所有 .ext 文件。

(4)  忽略特定路径的文件或文件夹
/path/to/folder/
/path/to/file.ext

忽略指定路径中的文件或文件夹。

(5)  忽略某一文件夹下的某类型文件
folder_name/*.ext

忽略 folder_name 文件夹中的所有 .ext 文件。

(6)  示例 .gitignore 文件

以下是一个示例 .gitignore 文件,其中包含了一些常见的过滤规则:

# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*# Python
__pycache__/
*.py[cod]
*.egg-info/
*.egg
*.pyo# Java
*.class
*.jar
*.war
*.ear# Logs
logs/
*.log# OS generated files
.DS_Store
Thumbs.db# IDEs and editors
.idea/
.vscode/
*.swp# Compiled source
*.com
*.class
*.dll
*.exe
*.o
*.so# Static folder
/static/# Ignore specific configuration files
config/local_settings.py

2. 添加 .gitignore 文件到 Git 仓库

(1)创建或编辑 .gitignore 文件: 在项目的根目录创建 .gitignore 文件,或者编辑现有的 .gitignore 文件。
(2)将 .gitignore 文件添加到 Git 仓库
git add .gitignore
git commit -m "添加 .gitignore 文件"
git push origin <your-branch-name>
(3)移除已被跟踪的文件或文件夹

如果某些文件或文件夹已经被 Git 跟踪,需要先将它们从 Git 的索引中移除,然后再提交更改:

git rm -r --cached <path_to_file_or_folder>
git commit -m "移除已跟踪的文件或文件夹"
git push origin <your-branch-name>
(4)示例

假设您想要忽略 static.idea__pycache__ 文件夹,并且这些文件夹已经被跟踪了,可以按照以下步骤操作:

  1. 更新 .gitignore 文件

    /static/
    /.idea/
    /__pycache__/
    
  2. 移除这些文件夹的跟踪

    git rm -r --cached static
    git rm -r --cached .idea
    git rm -r --cached __pycache__
    
  3. 提交更改

    git add .gitignore
    git commit -m "删除并忽略 static、.idea 和 __pycache__ 文件夹"
    git push origin <your-branch-name>
    

这样可以确保这些文件夹在未来的操作中被 Git 忽略,并且不会再被添加到仓库中。

http://www.lryc.cn/news/364689.html

相关文章:

  • mediaPlayer的内存泄露解决方法
  • delphi3层 delphi 3层
  • Python编程学习第一篇——制作一个小游戏休闲一下
  • 03--nginx架构实战
  • 【力扣第 400 场周赛】Leetcode 删除星号以后字典序最小的字符串
  • Unity DOTS技术(九) BufferElement动态缓冲区组件
  • hnust 湖南科技大学 2022 软件测试报告+代码
  • 【面试笔记】单片机软件工程师,工业控制方向(储能)
  • 基于springboot实现小区团购管理系统项目【项目源码+论文说明】计算机毕业设计
  • 基于django | 创建数据库,实现增、删、查的功能
  • 数据结构与算法07-图
  • springboot项目部署需要redis集群问题
  • JVMの内存泄漏内存溢出案例分析
  • v31支架固定方式
  • Jenkins从入门到精通面试题及参考答案(3万字长文)
  • 如何使用电阻器?创建任何电阻的简单过程
  • 学Python,看一篇就够
  • 数据仓库核心:维度表设计的艺术与实践
  • SQL实验 连接查询和嵌套查询
  • 【JAVA WEB实用技巧与优化方案】Maven自动化构建与Maven 打包技巧
  • 详细分析Mysql中的SQL_MODE基本知识(附Demo讲解)
  • vue3+uniapp
  • 组织病理学结合人工智能之后,如何实际应用于临床?|顶刊精析·24-06-06
  • VCAST创建单元测试工程
  • 数据结构之归并排序算法【图文详解】
  • 设计模式基础
  • Glide支持通过url加载本地图标
  • 网络安全形势与WAF技术分享
  • 【实战JVM】-实战篇-06-GC调优
  • 深入解析智慧互联网医院系统源码:医院小程序开发的架构到实现