【发布时间】:2016-03-28 02:48:32
【问题描述】:
代码非常简单,它只是打开 Windows 命令提示符并执行 call() 函数。它有基本的 git 命令,可以帮助我推送到 git repo。我已经配置了 ssh 和远程 repo。
链接:https://github.com/vivekpatani/git-script-gitter
我可以更改日期,但是当我将它推送到 git 时,它会显示我推送的当前日期,而不是我提交的日期。
显示 9 天前和 11 天前已提交的提交列表,我希望它实际上显示与已提交相同的日期。
def calling():
#Simply opening command prompt in Windows
subprocess.call("git --version")
subprocess.call("git status")
subprocess.call("git add .")
subprocess.call("git commit -am \"Changing Things\" --date=\"Sat, 26 Mar 2016 18:46:44 -0800\"")
subprocess.call("git push origin master")
#To stop from cmd closing automatically
temp = input("Enter to close:")
def main():
calling()
if __name__ == "__main__":
main()
环顾四周后,我读到我需要同时更改 AUTHOR DATE 和 COMMIT DATE?谁能帮帮我。
编辑 1: 我正在使用 Windows 操作系统。
当我通过 Git Bash 运行它时它可以工作,只是需要将它转换为 Python。
git --version
git status
git add .
GIT_AUTHOR_DATE='Fri Mar 25 19:32:10 2016 -0800' GIT_COMMITTER_DATE='Fri Mar 25 19:32:10 2016 -0800' git commit -am "Hello Laney"
git push origin master
编辑2:解决方案
def calling(git_date):
subprocess.call("git --version")
subprocess.call("git status")
subprocess.call("git add .")
#The next statement is important as updates/adds new GitCommiterDate in environment making it the current commit date.
os.environ["GIT_COMMITTER_DATE"] = 'Fri Mar 25 19:32:10 2016 -0800'
#The date in commit command only changes author date.
subprocess.call("git commit -am \"Changing Things\" --date=\"Fri Mar 25 19:32:10 2016 -0800\"")
subprocess.call("git push origin master")
【问题讨论】:
标签: python windows git bash github