pythongit - 在 git 提交之前检查

pythongit - check before git commit

使用 pythongit.git 编写自动化 git 添加、提交和推送的小片段。

                def git_commit_push(self):                
                    repoDir = self.backupRepositoryPath   
                    repo = git.Repo( repoDir )
                    print repo.git.status()
                    repo.git.add('--all')
                    print repo.git.status()       
                    repo.git.commit( m='pusing for backup' )
                    repo.git.push()
                    print repo.git.status()
                    

需要添加下面提到的检查点

1: 提交前,检查是否有文件被修改。如果没有文件则跳过 commit

2: 在推送之前,检查任何要推送的已提交文件。如果没有文件则跳过 push

请帮忙写下这两个检查点的if条件

此致, 普拉萨德

希望这对您有所帮助。

                def git_commit_push(self):                
                    repoDir = self.backupRepositoryPath   
                    repo = git.Repo( repoDir )
                    print repo.git.status()
                    repo.git.add('--all')
                    changedFiles = repo.git.diff('HEAD~1..HEAD', name_only=True)
                    print "====================================="
                    print "changedFiles are :", changedFiles    
                    print "====================================="  
                    if ( changedFiles ):
                        repo.git.commit( m=changedFiles )
                        repo.git.push()
                    else:
                        print "No files updated"

这里调逻辑...

                def git_commit_push(self):                
                    repoDir = self.backupRepositoryPath   
                    repo = git.Repo( repoDir )
                    print repo.git.status()
                    repo.git.add('--all')
                    changedFiles = repo.index.diff("HEAD")
                    print "====================================="
                    print "changedFiles are :", changedFiles    
                    print "====================================="  
                    if ( changedFiles ):
                        repo.git.commit( m='JenkinsBackup' )
                        repo.git.push()
                    else:
                        print "No files updated"