Git:使用消息推送到远程存储库

Pru*_*goe 20 git message

我的公司正在整合iRise用于原型设计,并且它没有任何版本的版本(除非使用不同的文件名制作文件副本=版本控制).无论如何,我们正在使用Git进行版本控制,因为这里的典型iRise用户将是图形/网页设计师,我希望尽可能自动化该过程.我有一个运行AppleScript的热文件夹,它将推送到远程存储库,但我不确定如何添加消息...

git push TestProject master 
Run Code Online (Sandbox Code Playgroud)

试着

git push TestProject master -m 'message'
Run Code Online (Sandbox Code Playgroud)

但是抛出了一个开关错误并显示了一个选项列表,-m不是其中之一......

这是可能的,还是你必须首先在本地提交,然后将其推送到遥控器,消息将随之附加?

man*_*lds 35

你必须做一个提交(添加文件后)

git commit -m 'message'
Run Code Online (Sandbox Code Playgroud)

然后推:

git push TestProject master
Run Code Online (Sandbox Code Playgroud)

您无法将消息与推送相关联.

  • "推理"就是'push'将提交从一个存储库复制到另一个存储库.所以你必须要提交它才能复制. (5认同)
  • 谢谢,任何想法是什么原因? (2认同)
  • 顺便说一句,提交有一个选项“--allow-empty”,可能对您的目的有用 (2认同)

小智 8

我认为这个问题是合法的,而且上面的答案并没有完全回答.这是我们在公司使用的工作流程(我们使用git flow):

  1. git flow功能启动myFeature
  2. git commit -m'在代码审查之前提交功能myFeature'
  3. 使用上面的提交启动代码协作者审核.
  4. git commit -m'提交代码审查myFeature round1的注释/更改'
  5. <与上述相同,也许是round2>
  6. git flow功能完成myFeature
    • 这将合并到本地开发分支,并删除myFeature分支
  7. git push origin开发

现在,如果我们可以在推送步骤7中添加这样的消息,那将是非常好的.像这样:

git push -m 'Feature is code complete, code collaborator review ids 1234, 1235.' origin develop
Run Code Online (Sandbox Code Playgroud)

当然,这并不是一个简单的案例,有人试图在没有提交的情况下进行推送,而是一个非常有用的步骤,您可以使用提供一些审计跟踪的元数据来注释特定的推送.