Git 完整操作之记录

发布于:2024-06-11 ⋅ 阅读:(24) ⋅ 点赞:(0)

目录

一 .   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 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__ 文件夹,并且这些文件夹已经被跟踪了,可以按照以下步骤操作:

  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 忽略,并且不会再被添加到仓库中。