我们在git中使用标签作为部署过程的一部分.有时,我们希望通过从远程存储库中删除它们来清理这些标记.
这非常简单.一个用户在一组命令中删除本地标签和远程标签.我们有一个结合了两个步骤的小shell脚本.
第二个(第3个,第4个......)用户现在拥有不再反映在遥控器上的本地标签.
我正在寻找一个类似于git remote prune origin清除本地跟踪已删除远程分支的分支的命令.
或者,可以使用列出远程标记的简单命令来比较通过返回的本地标记git tag -l.
我有一个repo1和repo2本地机器上.它们非常相似,但后者是某种其他分支(repo1不再维护).
/path/to/repo1 $ git log HEAD~5..HEAD~4
<some_sha> Add: Introduce feature X
Run Code Online (Sandbox Code Playgroud)
如何应用commit提交<some_sha>的repo1更改repo2?
我需要准备一些补丁,还是可以cherry-pick在回购之间做一些补丁?
如何做同样但提交范围?
我正在开发一个带有要点的小项目,因为它正在增长,我想把它放在github上.
我们假设:
理想的解决方案是在gist和github存储库上推送我的更改.
我正在尝试使用git am -3"补丁路径"将一系列补丁从1 git存储库应用到另一个git存储库.我按顺序应用它们,从补丁1-4,它工作正常.
但是当我来到第5个补丁时,我得到的错误是"致命:sha1信息缺乏或无用".我去了应用补丁的git存储库,我确实看到了'dev/afile'文件.所以我想知道为什么git抱怨"sha1信息缺乏或无用(dev/afile.c)",我该如何解决我的问题?
$ git am -3 ~/Tmp/mypatches/0005-fifth.patch
Applying: rpmsg: Allow devices to use custom buffer allocator
fatal: sha1 information is lacking or useless (dev/afile.c).
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 first patch
When you have resolved this problem run "git am --resolved".
If you would prefer to skip this patch, instead run "git am --skip".
To restore the original branch and stop patching …Run Code Online (Sandbox Code Playgroud)