# git_drawing_art **Repository Path**: fanderchan/git_drawing_art ## Basic Information - **Project Name**: git_drawing_art - **Description**: 用python在git上画图案 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-02-05 - **Last Updated**: 2024-07-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # git_drawing_art 项目 "git_drawing_art" 利用 Python 脚本在 Git 提交历史中绘制图案,通常用于展示在如 Gitee 或 GitHub 等平台的贡献图上。以下是该项目的详细介绍和使用方法: #### 一、介绍 该项目通过在 Git 提交历史中生成特定的提交模式来绘制图案。它适用于想要在其提交历史中添加一点趣味的用户。项目本质上是一种创意展示,实用性不大,更多的是一种装逼的手段。 ![输入图片说明](images/software_screenshot.png) #### 先决条件 - 拥有 Gitee 账号(该项目在 Gitee 平台测试过,GitHub 平台理论上也适用但未经测试)。 - 本地配置好的 Git 环境,并且可以无密码执行`git push origin master`命令。 #### 二、安装步骤 项目安装比较简单,只包含两个 Python 脚本。可以通过 Git 克隆项目到本地: ``` git clone https://gitee.com/fanderchan/git_drawing_art.git ``` #### 三、使用步骤 参数说明\ 脚本接收两个参数: - 参数1:图案的名称。 - 参数2:绘图矩阵的开始日期(必须是星期一)。 图案必须是矩阵形式定义的。 ##### 简单版教程 使用下面的命令可以绘制爱心图案,其中 2023-02-06 是图案开始的日期: ``` python git_drawing_art.py heart "2023-02-06" ``` heart 是默认提供的爱心图案。如果想要新增更多的图案,可以编辑 git_art_patterns.py 文件并定义新的图案矩阵。 ##### 保姆级教程(适用于新手) 如果你是Gitee新手,可以按照以下步骤操作: 1. **Fork项目** :访问 git_drawing_art 项目页面,点击右上角的 fork 按钮,fork 到你的个人仓库。 ![输入图片说明](images/fork.png) fork 完后,应该能直接跳转到你个人仓库地址,https://gitee.com/{{ 你的账号名 }}/git_drawing_art 2. **配置Git环境** - 设置 Git 账号和邮箱: ``` git config --global user.name '你的账号名' git config --global user.email '你的邮箱地址' ``` - 克隆你 fork 后的项目到本地: ``` git clone https://gitee.com/{{ 你的账号名 }}/git_drawing_art ``` - 配置 Git 以便无密码执行`git push origin master`: ``` cd git_drawing_art git config --global credential.helper store #它会将凭证(用户名和密码)保存在本地计算机上,以便自动提供身份验证信息。 git push origin master #输入你的账号名和密码 ``` 如果遇到错误,请按照Troubleshooting部分进行处理。 3. **执行脚本:** ``` python git_drawing_art.py heart "2023-02-06" ``` #### 原理 以爱心矩阵为例\ [0, 0, 1, 0, 1, 0, 0],\ [0, 1, 1, 1, 1, 1, 0],\ [1, 1, 1, 1, 1, 1, 1],\ [1, 1, 1, 1, 1, 1, 1],\ [0, 1, 1, 1, 1, 1, 0],\ [0, 0, 1, 1, 1, 0, 0],\ [0, 0, 0, 1, 0, 0, 0]\ ![输入图片说明](images/love.png) - 脚本会根据 git_art_patterns.py 定义的矩阵图案,逐列逐行提交空提交,例如: ``` git commit --allow-empty -m "Love commit" --date "2023-11-28" ``` - 根据矩阵中的数字,0 代表提交 0 次,1 代表提交 1 次,以此类推。 - 根据提交次数,Git 会在贡献图上用不同的颜色表示不同的提交密度,如下表所示: | commit次数 | 0次 | 1次或以上 | 8次或以上 | 15次或以上 | 24次或以上 | |----------|----|-------|-------|--------|--------| | 颜色 | 灰色 | 浅绿色 | 绿色 | 深绿色 | 墨绿色 | ![输入图片说明](images/image.png) - 最后执行无密码的`git push origin master`命令将本地的提交推送到远程仓库。 #### Troubleshooting 如果在执行`git push origin master`时遇到以下报错,说明你这台机器和服务器的凭证有问题。 ``` fatal: unable to access, 'https://gitee.com/fanderchan/git_drawing_art.git/': The requested URL returned error: 403 ``` > 和之前的`git config --global credential.helper store`有关。 解决办法是,让 gitee.com 强制忘记凭证即可,步骤如下: ``` git credential reject ``` 之后直接 ctrl + C, ctrl + V 粘贴以下内容,回车,回车,重新`git push origin master`。 ``` protocol=https host=gitee.com ```