公众号:积雷山摩云洞,欢迎关注!!!
一、目地
如果小型项目很多,且不想多次的输入命令的
首先,需要已经在线上创建了仓库,假设仓库的名字为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
改下,方便下使用,不至于每次都要敲一次
二、代码的书写
首先需要用到python
的os
模块中的system
api
- 导入模块到文件
- 封装方法,将
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
复制代码
修改文件夹名称
这里可以做一些修改,比如在创建文件夹时,可以自定义文件夹的名字。修改如下
folderName = input('请输入文件夹的名字:')
f'md {folderName}', # 创建文件
f'cd {folderName}', # 切换到目录
复制代码
修改git仓库地址
因为要创建很多仓库地址,那么就不能将地址写死,需要动态的添加 那么地址修改如下
storeHouseUrl = input('请输入要绑定的仓库地址')
f'git remote add origin {storeHouseUrl}', # 添加远程仓库的链接
复制代码
创建本地的日志
希望能保存档次提交的提交时间和提交信息
时间
需要导入time
模块
需求是:
第一:需要当前时间
第二:时间格式化为年月日,时分秒
time
库获取时间函数分别是
- time(): 获取当前的时间戳,即计算机内部时间值,返回浮点数
- ctime():获取当前的时间并以易读的方式表示,返回字符串
- gmtime():获取当前时间,表示为计算机可处理的时间格式,返回struct_time格式 格式化 strftime(tpl,ts),返回字符串
- localtime(): 格式化时间戳为本地的时间 具体的表达式
这里的写的代码如下
from time import localtime, strftime
# 时间
def get_time():
nowTime = strftime('%Y-%m-%d %H:%M:%S', gmtime())
return nowTime # 获取当前时间
复制代码
结果如下
创建本地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
,需要根据自己实际需求配置,不然会报错的
结果如下
三、完整代码
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()
复制代码
以上就是所有代码了,如有问题,请留言!!! 谢谢
更多内容关注公众号:积雷山摩云洞