我们在工作中使用SVN,但对于我的个人项目,我决定使用Git.所以我昨天安装的Git,我不知道是什么版本号相当于在Git中.
假设我们在版本3.0.8上工作,并且每个错误修复都有自己的修订版号,我们可以在讨论这个错误修复时使用它们.那么,如果我将Git中的代码标记为3.0.8,那么我可以将其用作修订版号或其他更详细的标识类型?我发现哈希对人类不那么友好.
我已经找到了这个答案:git中分支上的提交数量, 但假设分支是从master创建的.
如何在不依赖于该假设的情况下计算分支中的提交数量?
在SVN中,这是微不足道的,但由于某种原因,很难在git中找到答案.
你如何在git中标记你的发布版本?
现在,每个版本都由内部版本号标识,但即使回购中没有任何更改,它们也会增加.我的想法是在登台服务器上成功部署后自动生成它.例如
这需要:
有小费吗?
我正在写一个小脚本,想知道自创建以来我在当前分支上做了多少次提交.
在这个例子中,我有2个提交child
:
git checkout master
git checkout -b child
...
git commit -a
...
git commit -a
Run Code Online (Sandbox Code Playgroud)
所以我想要的是
commit_number = ...
echo $commit_number
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
当我使用 Gradle Kotlin DSL 创建一个空项目时,即使没有任何修改,它也会提示Cannot access script base class 'org.gradle.kotlin.dsl.KotlinBuildScript'. Check your module classpath for missing or conflicting dependencies
该项目可以运行,但语法高亮和自动完成功能build.gradle.kts
不起作用。
gradle-kotlin-dsl-5.2-20190122225509+0000-all.zip
brew install java11
brew install oracle-jdk
/Kotlin/kotlinc/lib
到 Kotlin SDK 的类路径IntelliJ IDEA 2020.3.1 (Ultimate Edition)
Build #IU-203.6682.168, built on December 29, 2020
Licensed to Hykilpikonna Gui
Subscription is active …
Run Code Online (Sandbox Code Playgroud) 我有一个开源静态JavaScript + HTML应用程序,它现在部署在三个不同的地方,一个在我的本地机器上,一个在内部服务器上,一个在稳定的外部服务器上.
我希望能够立即告诉哪个版本部署在哪个地方,并且我希望bug报告者可以轻松访问他们报告错误的版本.
理想情况下,作为提交过程的一部分,我希望使用提交的哈希值来编写文件.当然,根据我对Git的了解,这是不可能的,因为将计算的哈希作为提交中文件的一部分包含在内会改变该提交的计算哈希值.
另一方面,我可以将构建它作为构建过程的一部分.我目前没有构建过程,如果可能的话,我想避免添加一个步骤.
最干净的方法是什么?
我想找到对特定github项目执行的提交数,并在其中查找特定文件.我检查了github api文档,但只发现了一个实际返回所有提交的API.这将是非常低效的,因为我必须通过所有提交进行多个api调用以进行分页.
谁有更好的主意?
我刚刚完成了一个更复杂的bash脚本的第一个工作版本,我正在围绕如何维护脚本版本.
我为什么需要这个?遵循命令行界面的GNU编码标准我添加了一个版本选项,在许可证和版权标题中显示当前版本.
不过,我不知道如何让版本"保持最新".
到目前为止,我的想法是使用git标签作为主要的| 未成年人 补丁发布,并以某种方式替换脚本中包含的变量.
所以,如果我有一个名为的标签1.1.0
,那么
$ myscript --version
Run Code Online (Sandbox Code Playgroud)
应输出如下内容:
myscript 1.1.0
Run Code Online (Sandbox Code Playgroud)
该脚本包含一个shell变量:
version=1.1.0
Run Code Online (Sandbox Code Playgroud)
不过,我现在不知道如何使版本与最新标签保持同步?
我正在做一些初步的工作,研究DVCS(像Git,Hg,Bazar这样的人)如何在科学编程过程中提供帮助,尤其是研究生.我认为自从我编程了几年以来,我已经处于相当有利的位置,目前正在开始自然科学硕士课程.目标是在一两个月内对此进行简短介绍.
据我所知,除了源控制的明显优势外,DVCS目前还为研究生的日常生活提供了以下改进:
分枝:
这是一个很大的问题.从观察DVCS实践可以看出,廉价分支主要是鼓励对新功能进行实验.科学编程完全是关于实验的.可以创建不同的分支来调整参数或算法.这一点尤其重要,因为大多数科学代码在他们的一生中都没有看到过一次重构(大多数研究生甚至都不知道它是什么),所以去不同分支的能力会给典型的疯狂带来一些方法.快速提交也可能意味着使用提交注释作为实验室笔记本的替代品.计算结果可以标记为特定的提交哈希码,以进行可重复的研究.
推送到服务器:
由于现在大多数科学代码都运行在某种集群上,因此DVCS可以用作某种更高级的Rsync,许多人已经将其用于将"生产"代码推送到HPC集群.这与分支相结合,可轻松运行多个版本的代码而无需离开
论文合作:
需要我多说?具有多个作者的论文与小型开源项目完全相同.当作者都在LaTex中写作时,论文上的协作应该是一个自然的选择,如果用Word之类的东西完成写作会带来额外的复杂性.这是提交评论可能发挥更大作用的地方.
我的问题是,您认为DVCS可以为科学程序员做出什么贡献?我看到很多关于转向社区源代码控制的讨论,但大多数人仍在研究Subversion.从我粗略的笔记来看,听起来DVCS应该是新毕业生的完美工作流程范例.我的想法有缺陷吗?或者科学编码是否仅仅落后于甚至听说过 DVCS工具?
有关:
我可以通过像svn info这样的命令在svn中看到修订号,但是在git我只能看到sha对象名,有没有办法知道提交了多少个修订?