Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除或清理孤立对象“;“未跟踪文件”;从git存储列表合并时提交合并到目标分支的分支?_Git_Tortoisegit - Fatal编程技术网

如何删除或清理孤立对象“;“未跟踪文件”;从git存储列表合并时提交合并到目标分支的分支?

如何删除或清理孤立对象“;“未跟踪文件”;从git存储列表合并时提交合并到目标分支的分支?,git,tortoisegit,Git,Tortoisegit,查看由Tortoise Git提供的修订图,我发现一系列提交都显示一个孤立的分支被合并到其中。更多的调查表明,这些孤立分支的根提交实际上是由我们的一名团队成员合并到我们的开发分支中的一些存储的未跟踪文件提交。修订图中显示的所有孤立分支都来自同一个团队成员,因此很明显这是她在Git存储库管理过程中所做的事情的结果,该过程似乎包括使用上下文菜单中的“合并到”选项来选择隐藏列表对话框中显示的隐藏 我一直在互联网上搜索帮助,以了解如何从我们的分支“删除”或以其他方式清理这些未跟踪的文件提交,从而清理我们

查看由Tortoise Git提供的修订图,我发现一系列提交都显示一个孤立的分支被合并到其中。更多的调查表明,这些孤立分支的根提交实际上是由我们的一名团队成员合并到我们的开发分支中的一些存储的未跟踪文件提交。修订图中显示的所有孤立分支都来自同一个团队成员,因此很明显这是她在Git存储库管理过程中所做的事情的结果,该过程似乎包括使用上下文菜单中的“合并到”选项来选择隐藏列表对话框中显示的隐藏

我一直在互联网上搜索帮助,以了解如何从我们的分支“删除”或以其他方式清理这些未跟踪的文件提交,从而清理我们的修订图以不显示这些孤立分支。到现在为止,我还没有找到任何东西。根据我的决定,我看不到对分支头(包括这些孤立分支)的实际代码库有任何不利影响,但仍然希望删除或撤消它们,以清理修订图提供的历史和视图。如果您对我们目前的情况有任何建议或见解,或对其他可能导致的复杂情况提出意见,我们将不胜感激

谢谢你抽出时间,
Mike

警告:以下命令通常不受欢迎 在共享存储库上。此答案假设这是可以接受的。

git-rebase
没有
——保留合并
应该可以很好地工作:

下面是我如何测试它的:

mkdir test_orphan
cd test_orphan/
git init
echo "new file" > file1
git add file1
git commit -m "mainline"
echo "some changes" >> file1
git commit -a -m "some changes"
git checkout --orphan orphan
echo "orphan changes" >> file2
git add file2
git commit -a -m "orphan changes"
git checkout master
git merge orphan
echo "additional changes" >> file1
git commit -a -m "more changes"
这应该会产生类似这样的历史(
git log--decoration--oneline--graph
):

现在要重新确定这些更改的基础:

git rebase 1523991
结果生成一个如下所示的树:

* 3b63a46 (HEAD, master) more changes
* c56d554 orphan changes
* daa016c some changes
* 1523991 mainline
如何在不取消所有合并提交的情况下将其应用于您的情况

  • git签出-b展平
  • git-rebase
  • git签出主机
  • git-rebase-p——变平

  • 我有一个乌龟Git修订图和日志视图的图像,我想发布它作为问题的支持,但我只是没有足够的代表来做这件事。我是个笨蛋,还在努力想办法解决一切问题。你有没有调查过嫁接点?(,如中所用)您现在拥有超过10个声誉,因此您可以使用上载功能将图像直接添加到帖子中。Poke,感谢您对rep points的帮助。如果用鼠标右键单击并在新选项卡中打开图像,它会更容易阅读。@MikeLong您同意重写历史吗?谢谢你花时间在这里为我解释清楚。我在第一次尝试时遇到了一些困难,我认为这与注入未跟踪文件孤儿提交的合并点实际上有三个父级(而不仅仅是两个)有关,其中一个父级包含我们想要维护的更改,但我想我明白了这个想法的要点,可以从这里尝试一些东西。接下来的两周都要去度假,只是想向你保证你的努力不会白费。我回来后再多看一看。
    * 3b63a46 (HEAD, master) more changes
    * c56d554 orphan changes
    * daa016c some changes
    * 1523991 mainline