我正在研究两个不同的分支:发布和开发.
我注意到我仍然需要将一些提交给发布分支的更改集成到开发分支中.
问题是我不需要所有的提交,只有某些文件中的一些人,所以很简单
git cherry-pick bc66559
Run Code Online (Sandbox Code Playgroud)
没有办法.
当我做的时候
git show bc66559
Run Code Online (Sandbox Code Playgroud)
我可以看到差异,但实际上并不知道将其部分应用于我当前工作树的好方法.
我有一个Git存储库,其中有很多提交,没有特定的分支,我可以git show,但是当我尝试列出包含它们的分支时,它没有报告任何内容.
我认为这是悬挂的提交/树问题(由于-D分支),所以我修剪了回购,但之后我仍然看到相同的行为:
$ git fetch origin
$ git fsck --unreachable
$ git fsck
Run Code Online (Sandbox Code Playgroud)
没有输出,没有悬空(对吧?).但提交存在
$ git show 793db7f272ba4bbdd1e32f14410a52a412667042
commit 793db7f272ba4bbdd1e32f14410a52a412667042
Author: ...
Run Code Online (Sandbox Code Playgroud)
它不能通过任何分支到达
$ git branch --contains 793db7f272ba4bbdd1e32f14410a52a412667042
Run Code Online (Sandbox Code Playgroud)
没有输出.
这个提交的状态究竟是什么?如何列出处于类似状态的所有提交?如何删除那些提交?
我不小心添加了一个图像文件夹并提交.然后,我又做了一次提交.然后我git rm -f ./images再次使用并提交了这些文件.
现在,我在那个分支(master)中做了很多提交.在我的HEAD中,我没有该./static/images文件夹.
因此,我的回购规模增加了很多.如何完全删除这些斑点?我想从我的远程GitHub仓库中删除它.
标题不是很清楚.我实际需要经常做的是:
假设我有一个开发正在进行几个提交c1,c2,...和3个分支A,B,C
c1--c2--c3--(B)--c4--(A,C)
Run Code Online (Sandbox Code Playgroud)
分支A和C处于同一提交.
现在我希望分支A回到B所在的位置,这样它就像这样:
c1--c2--c3--(A,B)--c4--(C)
Run Code Online (Sandbox Code Playgroud)
重要的是,这必须在本地和github上进行.
我使用 git-subtree 添加了一个 git 存储库。问题是我在使用 git-subtree 添加存储库之前进行了硬重置。现在提交历史仍在存储库中,但它已与 master 断开连接。
知道如何删除它吗?我试过 git rm --cached 没有运气。
git ×5
branch ×1
git-commit ×1
git-dangling ×1
git-remote ×1
git-rm ×1
git-subtree ×1
github ×1