是否可以使用git为下一次的未来提交设置注释?想象这样的事情:
git next-commit "Implement client-side validation"
# implement the feature ...
# commit changes
# equivalent to git commit -m "Implement client-side validation"
git commit -m from-next-commit
其背后的动机是,我在编程时通常会想到一个特定的功能,但是一路走来,我最终开发了一些其他功能或修复了相关的问题,因此我无法跟踪自己正在从事的主要任务
到那时,我已经对源代码进行了有用的修改,但是我什至不记得我添加的主要功能是什么,因为这只是一堆更改,我唯一能想到的提交信息是{ {1}}。设置下一次提交的消息还可以帮助我继续进行应做的工作。在任何时候,如果我觉得自己已经忘记了主要任务并脱离了其他功能,则理想情况下,我会向git询问类似git commit -m "Update stuff"
的内容,该内容可能会显示git next-commit
。
是否存在这样的功能?
编辑:看到一些答案之后,我想我应该澄清另一件事。理想情况下,此命令还可以帮助您跟踪何时已使用将来的提交。例如,如果您使用Implement client-side validation
两次而未设置之前的新将来提交消息,则该消息将失败。
git commit -m from next-commit
答案 0 :(得分:2)
我个人会按照Tim Biegeleisen的建议去做,但是如果您愿意使用自定义命令而不是git commit
,那么做想要的事情就不会很困难。
也就是说,您可以制作一个自定义的git-next-commit
脚本,将其放在PATH
中,然后让它将所需的提交消息写入git repo根目录中的某个文件中(或者在{ {1}}。
然后制作另一个自定义脚本(例如,.git/
,或者仅重用git-commit-from-next
,可能带有命令行选项),该脚本使用先前存储的消息调用git-next-commit
并删除文件。如果该文件不存在,请打印相应的错误消息。
如果看到特殊的“ from-next-commit”消息,您也许还可以让git prepare-commit-msg hook做您想做的事情。
答案 1 :(得分:1)
也许使用var description = apiData[i].course_description;
console.log(description);
reshtm += '<div class="col-md-6">\
<a href="coursesdetails" class="well">\
<h1>'+apiData[i].course_name+'</h1>\
<p>'+apiData[i].course_description+'</p>\
</a>\
</div>';
从文件中读取注释?
答案 2 :(得分:1)
老实说,如果您在记住当前提交中所做的操作时遇到了很多麻烦,我可能会问您在提交该提交之前是否还要处于良好状态,请仔细阅读所有代码。也许您应该投资像Jira这样的问题追踪器。
话虽这么说,您在这里可能会发现有用的一个窍门是从进行虚拟提交开始,在这里您只需在某个地方进行少量更改即可。通过以下方式添加您想到的“未来”提交消息:
git commit -m 'Implement client-side validation'
然后,完成您的工作并完成提交。当需要提交这项工作时,您可以修改上一次提交:
git commit --amend
默认情况下,这应该打开一个编辑器窗口,您应该在其中看到将来的提交消息。
答案 3 :(得分:1)
我的建议是在切记您所要考虑的“描述”的情况下切成一个分支(例如git checkout -b "mz-client-side-validation"
。请记住启动该分支的提交(使用标签,如果您使用mz-csv
然后开始工作。首先,如果您不专注于工作的性质,这没关系。您应该养成的习惯是做出小的承诺(即使有不好的信息)。提交并不总是与客户端验证相关,它们很小,可以在历史记录中使用。
完成实际功能(可能通过多次提交)后,请执行git rebase -i mz-csv
。现在,您可以清理mz-client-side-validation
上的工作历史。削减提交,合并它们,删除它们,等等。准备就绪后,将mz-client-side-validation
合并回到主分支。