目录
[一 . Git 基本操作流程及示例代码](#一 . Git 基本操作流程及示例代码)
[1. 初始化 Git 仓库](#1. 初始化 Git 仓库)
[2. 克隆远程仓库](#2. 克隆远程仓库)
[3. 检查当前状态](#3. 检查当前状态)
[4. 添加文件到暂存区](#4. 添加文件到暂存区)
[5. 提交更改](#5. 提交更改)
[6. 查看提交历史](#6. 查看提交历史)
[7. 创建分支](#7. 创建分支)
[8. 切换分支](#8. 切换分支)
[9. 合并分支](#9. 合并分支)
[10. 推送更改到远程仓库](#10. 推送更改到远程仓库)
[11. 拉取远程仓库的更改](#11. 拉取远程仓库的更改)
[12. 回滚到上一个版本](#12. 回滚到上一个版本)
[二 . .gitignore 过滤](#二 . .gitignore 过滤)
[1. 基本语法](#1. 基本语法)
[(1) 忽略文件夹:](#(1) 忽略文件夹:)
[(2) 忽略文件:](#(2) 忽略文件:)
[(3) 忽略某类型文件:](#(3) 忽略某类型文件:)
[(4) 忽略特定路径的文件或文件夹:](#(4) 忽略特定路径的文件或文件夹:)
[(5) 忽略某一文件夹下的某类型文件:](#(5) 忽略某一文件夹下的某类型文件:)
[2. 添加 .gitignore 文件到 Git 仓库](#2. 添加 .gitignore 文件到 Git 仓库)
[(1)创建或编辑 .gitignore 文件: 在项目的根目录创建 .gitignore 文件,或者编辑现有的 .gitignore 文件。](#(1)创建或编辑 .gitignore 文件: 在项目的根目录创建 .gitignore 文件,或者编辑现有的 .gitignore 文件。)
[(2)将 .gitignore 文件添加到 Git 仓库:](#(2)将 .gitignore 文件添加到 Git 仓库:)
一 . Git 基本操作流程及示例代码
以下是一个完整的 Git 基本操作流程和示例代码,包含常见的 Git 命令及其使用示例。
git add .
git commit -m '提交数据'
git pull origin dev
git 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__
文件夹,并且这些文件夹已经被跟踪了,可以按照以下步骤操作:
-
更新
.gitignore
文件:/static/ /.idea/ /__pycache__/
-
移除这些文件夹的跟踪:
git rm -r --cached static git rm -r --cached .idea git rm -r --cached __pycache__
-
提交更改:
git add .gitignore git commit -m "删除并忽略 static、.idea 和 __pycache__ 文件夹" git push origin <your-branch-name>
这样可以确保这些文件夹在未来的操作中被 Git 忽略,并且不会再被添加到仓库中。