我必须提出Python脚本来捕获对GIT的所有更改。该脚本将自动运行一天。
我想出了这个,但看起来并不令人满意。
atmosfera
输出是这样的
import os
import subprocess
from subprocess import *
accpath = 'M:/STD1/GIT_TEST'
print (accpath)
subprocess.Popen(["ls"],cwd = accpath)
subprocess.Popen(["git","init"],cwd = accpath)
subprocess.Popen(["git","add","."],cwd = accpath)
subprocess.Popen(["git","commit","-m","'committed'"],cwd = accpath)
p = subprocess.Popen(["git","log","-p","-1"], cwd = accpath, stdout =
subprocess.PIPE,)
stdout_value = p.communicate()[0]
t1 = repr(stdout_value)
v = subprocess.Popen(["git","status"],cwd = accpath)
std_val = v.communicate()
print(std_val)
你们能帮助我吗? - 删除了2个文件但是没有提交更改。 - 我只是在寻找一个清晰的输出,可以作为报告(邮件)发送。
答案 0 :(得分:0)
那是因为git add
只会添加新文件或修改现有文件。要从树中暂存,您需要git rm
,如状态所示(即使文件不在物理位置,也可以使用)。
正如错误所示,使用git commit -a
将绕过此 - 它将提交所有修改和删除。但是,您仍然需要git add
来添加新文件。所以只需改变:
subprocess.Popen(["git","commit","-a","-m","'committed'"],cwd = accpath)