我最近分叉了一个项目并应用了几个修复程序.然后我创建了一个拉取请求,然后被接受.
几天后,另一位撰稿人做出了另一项改变.所以我的fork不包含那个改变.
我怎样才能把这个改变变成我的叉子?当我进行进一步的更改时,是否需要删除并重新创建我的分支?还是有更新按钮?
我们是git的新手,我想在我们的存储库的开头设置一个标记.我们的生产代码与初始存储库相同,但从那时起我们就已经提交了.开头的标签将允许我们将生产"回滚"到已知的稳定状态.
那么如何将标签添加到任意较旧的提交中?
我在GitHub中有一个存储库,我需要标记它.我在shell中标记,但在GitHub上它没有显示出来.我还有什么要做的吗?
我在shell中使用的命令是:
git tag 2.0
Run Code Online (Sandbox Code Playgroud)
现在当我键入git tag它时显示:
2.0
Run Code Online (Sandbox Code Playgroud)
所以似乎标签存在,对吗?
存储库是:https://github.com/keevitaja/myseo-pyrocms.
如何让这个标签显示在GitHub上?我的标签在哪里?
我去年从Subversion转到Git作为我的日常VCS,我仍在努力把握"Git-think"的细节.
最近困扰我的那个是"轻量级"与注释与签名标签.对于所有实际用途来说,注释标签优于轻量级标签似乎是普遍接受的,但我发现为什么情况的解释似乎总是归结为"因为最佳实践"或"因为它们是不同的".不幸的是,这些都是非常不满意的论据而不知道为什么它是最佳实践或这些差异如何与我的Git用法相关.
当我第一次切换到Git时,轻薄的标签似乎是自切片面包以来最好的东西; 我可以指出一个提交并说"那是1.0".我很难掌握标签如何比这更好,但我当然不能相信世界的Git专家更喜欢任意注释标签!那么喧哗什么呢?
(奖励积分:为什么我需要签署一个标签?)
编辑
我已经成功地确信注释标签是一件好事 - 知道谁标记,何时重要!作为后续行动,有关良好标签注释的任何建议吗?两者都git tag -am "tagging 1.0" 1.0试图总结提交日志,因为上一个标记感觉就像丢失策略一样.
如果我想标记当前提交.我知道以下两个命令行都有效:
git tag <tagname>
Run Code Online (Sandbox Code Playgroud)
和
git tag -a <tagname> -m '<message>'
Run Code Online (Sandbox Code Playgroud)
这些命令有什么区别?
我想强制推送,例如,我的标签1.0.0到我的远程master分支.
我现在正在做以下事情:
git push production +1.0.0:master
Run Code Online (Sandbox Code Playgroud)
我想强制推送,因为我关心的是1.0.0标签内的代码被推送到master远程存储库的分支.
我究竟做错了什么?
当我通过SSH连接到我的Git存储库并执行的服务器时git branch -l,我也看不到master列出的分支.
git tag -l从远程Git存储库内部运行后,我看到它master已列出,这意味着当我运行以下代码时:
git push production 1.0.0:master
Run Code Online (Sandbox Code Playgroud)
它实际上推送了标签并创建了一个名为 master而不是新分支的标签.
我想基本上将标签的内容推1.0.0送到master远程Git存储库的分支.
自从我创建了我的存储库后,看来我创建的标签没有被推送到存储库.当我git tag在本地目录上执行所有标记时,但是当我登录到远程存储库并执行操作时git tag,只显示前几个标记.
问题是什么?
我目前正在使用具有多个分支的存储库.
当我创建一个标签时,该标签是否指向当时的分支?
换句话说:每当我创建一个标签时,我是否需要切换到该分支内的所需分支和标签,以便标签在该时间点引用该分支?
获取单个分支时,git fetch包括指向分支的任何标记:
当refspec将获取的结果存储在远程跟踪分支中时,将自动跟踪指向这些分支的标记.这是通过首先使用给定的s从远程获取来完成的,如果存储库具有由远程标记指向的对象,那么它将获取那些缺少的标记.如果另一端有标签指向你不感兴趣的分支,你就不会得到它们.
有没有办法让git push行为方式相同?手册页说明了如何--tags在命令行中不使用任何标签(默认值),所有标签()或名称.它没有提供一种方法来推动指向分支的所有指针.