对于默认设置,Git推送到"匹配"分支 - 具有相同名称的分支,而不是"上游"分支 - 正在跟踪的分支.我可以更方便地切换到"上游"模式,这样我就不必每次都指定我正在推送的分支,但我认为'匹配'是默认的原因.是否有任何问题将设置设为"匹配",而不是"上游"设置将解决?
我有小问题。最近开始使用gitKraken来测试它的工作方式(考虑从sourcetree迁移)。据我了解,它更像是“原始” git命令。SourceTree为我完成了一些事情,例如自动标记推送(确定,发现它允许使用不推荐的--tags选项)
我的问题是标签。我在控制台上对其进行了测试,它似乎与推送标签有关。
git push origin-推送更改
git push origin 1.0.0-推送标签
在这里,一切正常。我的同事可以看到更改并可以进行更改。
git push origin 1.0.0-我只推送标签,而不提交(这怎么可能?),
它在存储库(在BitBucket站点上)像普通的提交一样可见-带有注释和ID。但是,提交不能通过git pull从bitbutcket下载,因为它表明它是最新的
我觉得它看起来像
git push origin= git push origin
git push origin 1.0.0=git push some-special-place
它是如何工作的?我可以在BitBucket网站上看到所有更改。
此外,我可以下载提交的标签,而无需提交更改,并且我得到的结果是最近通常提交的。如果我使用API /网站下载回购副本,可能会导致问题,因为它与实际更改不符
编辑 如果我的本地提交是A-B-C-D(tag)远程的,A-B-C则BitBucket接口向我显示(仅提交标签后)A-B-C-D,并且未声明其HEAD为C而不是D。那就是我以为我拒绝了最新的提交,但实际上我下载的是HEAD
另外,要注意:从远程可删除 未提交的 提交中删除标签-就像它们从未放在首位一样。
GitKraken或源代码树都不会通知未提交的更改。
编辑:仅提交标签会在Web界面中显示实际更改(补丁摘要)。提交看起来完全一样。
以下命令如何:
git config remote.origin.push refs/heads/master:refs/heads/master
Run Code Online (Sandbox Code Playgroud)
与以下命令有关:
git config push.default <option>
Run Code Online (Sandbox Code Playgroud)
(使用--local 或--global选项)
其中<option> 一个是:
nothing
matching
upstream (formerly tracking)
current
simple
Run Code Online (Sandbox Code Playgroud)
?
我想我理解第二个配置命令,但我不明白第一个命令条件/与第二个命令的关系.以下是一些提供此问题背后的背景的参考资料:
我以为我的git配置有问题,
每当我创建一个新的分支时,我首先必须设置 - 上游
git push --set-upstream sensorAtHome pull-down-to-refresh
sensorAtHome我的项目名称在哪里,pull-down-to-refresh是分支名称.
实际上我没有必要在我的工作场所这样做,我简单创建分支做我的工作提交和推送,我从来没有设置 - 上游,但我在家里的项目,当我推送到GitHub.com我必须..
有什么我错过的可能与我的工作流程有关吗?