我已将标签推入遥控器,当另一个用户创建相同的标签并尝试推送时,推送将失败,因为标签已存在于遥控器上.
但我想如果我做 - 强制标签推送,它应该是工作.但这不是我所看到的.
我想我必须这样做.
Create tag
Push tag -> If push fails -> Delete tag on remote
-> push tag again.
Run Code Online (Sandbox Code Playgroud)
它是否正确?Isnt force push标签应该照顾这个吗?
我正在使用带注释的标签
git -a v1.0 -f -m "message"
Run Code Online (Sandbox Code Playgroud)
谢谢你的期待.
我有大约100个补丁,如下所示,有没有办法一次性应用所有这些?
0001-*.patch,0002-*.patch,0003-*.patch............
Run Code Online (Sandbox Code Playgroud) 两个问题:
我试图在所有提交之前提交一个提交.
最底层的提交有660fb2a76211f36ec9a67d0454a90eab469e9fd0SHA.当我输入git rebase -i 660fb2a76211f36ec9a67d0454a90eab469e9fd0每个提交但最后一个提交显示在列表中.
我真的需要这个提交出现所以我可以把第一个提交作为最后一个!
当我把第一个提交作为第一个提交在列表中时(意思是第二个提交总共,因为第一个提交不在上面提到的列表中)我得到一个错误:error: could not apply b722c76... v1.4.3 BEAT release
我只是从列表的底部剪切并放入它到顶部!我没有改变号码!
我也试了好几次.同样的结果.
到目前为止就是这样.如果您有疑问请继续问!
我刚刚发现了我项目的旧备份.这些备份是在我使用git之前创建的.
我现在想将它们作为旧提交添加到我的存储库中.这意味着我必须将这些提交放在所有其他提交之前.
现在有几个问题:
如果不清楚,请提及.我会解决这个问题!
最后一件事:
我已经在GitHub上发布了这个.我主要使用他们的软件来提交提交.那我怎么把它推回GitHub呢?
编辑问题归结为"也可以git rebase指示重新标记标签吗?" 但对原始问题的回答也会有所帮助.
问如何将过去添加到git存储库?我遵循了这些指示.< edit >然后我重新加入以包含仅在快照中的文件,请参见此处.< / edit >由于历史记录被重写(由git filter-branch或git rebase或两者?)所有标签仍然在原始时间线上*我不知何故喜欢将它们移动到新的.我想我用标签做了所有提交消息,所以我可以尝试编写一个使用它们的脚本,但更通用的git move-tags <from> <to>会更好.
那么,有没有办法解决"在新时间轴之后N提交的提交,以便标记旧时间轴上的第N次提交"?除了明显的手动重新定位之外的任何其他解决方案也会很棒.
(请随意将那个可怕的长句纠正为简单的英语......)
*)嘿,git解决了祖父悖论!
我有两个与切线相关的git存储库.即,一个人的内容是另一个人的前身.我想以某种方式将存储库A的完整历史添加到存放处B中,以便A的提示将成为存储库B的第一个变更集的父级?两者的历史都非常线性.
这可能吗?
我试图用git replace改写历史并替换树的一个不同的提交的树对象提交.我想把这个永久化.
该文档git replace似乎表明这是可能的.我修改了以下配方来替换如何将过去添加到git存储库中的提交?.
# setup a second branch with a different tree
# existing repo which already contains a few commits
git checkout master -b master2
echo "test file" > testfile.txt # a different tree
git add testfile.txt
git commit -m "test"
# save the SHA1 of the original tree for later reference
ORIG=$(git rev-parse master^{tree})
# replace the tree of master with the one from master2
git replace master^{tree} …Run Code Online (Sandbox Code Playgroud) 我的一位大学同事认为通过克隆存储库并将其内容复制到新的初始化存储库但没有.git原始存储库中的文件夹来分叉存储库是个好主意.之后,他只使用一次提交就提交了此副本,整个团队就开始根据此提交开发项目:
A <- B <- C <- D <- E (original repository)
\ clone / |_____|
\ / |
\ / Ofc. work on the original repository was continued after cloning...
\ /
M <- N <- O <-P (our "fork", commits from my team)
Run Code Online (Sandbox Code Playgroud)
现在,我的第一个目标是获得以下存储库结构:
A <- B <- C <- N <- O <- P
Run Code Online (Sandbox Code Playgroud)
我在过去几个小时里一直试图做的事情如下:
git diff > /path/to/patch 从叉子里面.git apply 在原始存储库中.A使用将其重置为提交git reset --hard COMMIT_HASH_A. …git ×7
git-rebase ×2
history ×2
repository ×2
backup ×1
commit ×1
git-patch ×1
git-tag ×1
github ×1
tags ×1