自动化创建git本地库并提交

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第18天,点击查看活动详情

一、目地

如果小型项目很多,且不想多次的输入命令的

首先,需要已经在线上创建了仓库,假设仓库的名字为python-auto, 以下是本地创建仓库并push到线上的所有git代码

mkdir python-auto
cd python-auto
git init 
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin url
git push -u origin "master"
复制代码

在实际开发过程中,我们每次都需要执行这样的命令

所有这里用python改下,方便下使用,不至于每次都要敲一次

二、代码的书写

首先需要用到pythonos模块中的systemapi

  • 导入模块到文件
  • 封装方法,将command写成一个数组,通过循环执行它

如下

commitText = input('请填写备注:')
def create_git_init():
  command_arr = [
    'md python-auto', # 创建文件
    'cd python-auto', # 切换到目录
    'git init', # 初始化
    'git add .', # 添加目录到缓存区
    f'git commit -m {commitText}', # 将暂存区内容添加到仓库中
    'git remote add origin https://gitee.com/niuny/python-auto.git', # 添加远程仓库的链接
    'git push -u origin "master"' # push到远程仓库
  ]
  for command in command_arr:
    system(command)
复制代码

这里在项目的文件创建以及提交都是自动的,除了备注信息是需要填下,其他的都是自动执行的

执行命令如下

 python .\gitInit.py 
复制代码

image.png

修改文件夹名称

这里可以做一些修改,比如在创建文件夹时,可以自定义文件夹的名字。修改如下

folderName = input('请输入文件夹的名字:')

f'md {folderName}', # 创建文件
f'cd {folderName}', # 切换到目录
复制代码

image.png

修改git仓库地址

因为要创建很多仓库地址,那么就不能将地址写死,需要动态的添加 那么地址修改如下

storeHouseUrl = input('请输入要绑定的仓库地址')

f'git remote add origin {storeHouseUrl}', # 添加远程仓库的链接
复制代码

创建本地的日志

希望能保存档次提交的提交时间和提交信息

时间

需要导入time模块 需求是: 第一:需要当前时间 第二:时间格式化为年月日,时分秒

time库获取时间函数分别是

  • time(): 获取当前的时间戳,即计算机内部时间值,返回浮点数
  • ctime():获取当前的时间并以易读的方式表示,返回字符串
  • gmtime():获取当前时间,表示为计算机可处理的时间格式,返回struct_time格式

格式化 strftime(tpl,ts),返回字符串

  • localtime(): 格式化时间戳为本地的时间

具体的表达式

20210208224306721.png

20210208224319176.png

20210208224614824.png

这里的写的代码如下

from time import localtime, strftime

# 时间
def get_time():
  nowTime = strftime('%Y-%m-%d %H:%M:%S', gmtime())
  return nowTime # 获取当前时间
复制代码

结果如下

image.png

创建本地txt文件

选择保存地址,最好是仓库文件,这样好查看 open函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

  • r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
  • w:打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

file 对象方法write,如果要写入字符串以外的数据,先将他转换为字符串。

# 创建文件
def create_txt():
  file = open(r'F:\2022\python-auto\gitInit.txt','w')
  file.write(f'创建时间:{nowTime} 备注信息:{commitText}')
复制代码

注意这个url地址F:\2022\python-auto\gitInit.txt,需要根据自己实际需求配置,不然会报错的

结果如下

image.png

三、完整代码

from os import system
from time import localtime, strftime


folderName = input('请输入文件夹的名字:')
commitText = input('请填写备注:')
storeHouseUrl = input('请输入要绑定的仓库地址:')
# git 初始化
def create_git_init():
  command_arr = [
    f'md {folderName}', # 创建文件
    f'cd {folderName}', # 切换到目录
    'git init', # 初始化
    'git add .', # 添加目录到缓存区
    f'git commit -m {commitText}', # 将暂存区内容添加到仓库中
    f'git remote add origin {storeHouseUrl}', # 添加远程仓库的链接
    'git push -u origin "master"' # push到远程仓库
  ]
  for command in command_arr:
    system(command)

# 时间
nowTime = ''
def get_time():
  nowTime = strftime('%Y-%m-%d %H:%M:%S', localtime())

# 创建文件
def create_txt():
  file = open(r'F:\2022\python-auto\gitInit.txt','w')
  file.write(f'创建时间:{nowTime} 备注信息:{commitText}')

if __name__ == "__main__":
  get_time()
  create_txt()
  create_git_init()
复制代码

以上就是所有代码了,如有问题,请留言!!! 谢谢

猜你喜欢

转载自juejin.im/post/7087939520083181575