GitHub:我能看到我在分支上做了哪些更改吗?

10

我想删除一些旧的分支,但我不记得是否曾经向那些分支提交过更改。

如何查看我是否创建了分支,或者是否提交了任何更改到我的存储库分支中?


像这样吗?https://dev59.com/KFQI5IYBdhLWcg3w-Qpi#68335748 - Jari Turkia
1个回答

6

在GitHub UI中:只需点击“commits”按钮,查看最近的提交是否是你的。这需要手动查看提交,所以只有当你的提交是最近的(因为你提交到了自己的分支并且没有拉取更新),或者提交数量很少且你可以查看所有提交时才能正常使用。

使用Git:即使对于包含数千个提交的存储库,这种方法也是可靠的。

  1. 克隆你的分支。git clone ...
  2. 将其他存储库添加为上游。 git remote add upstream ...
  3. 获取上游存储库。 git fetch upstream
  4. 使用rev-list查找未合并到上游分支中的master分支的提交:git rev-list --oneline master ^upstream/master

如果rev-list不列出任何提交,则您的主分支中没有尚未合并到上游分支的提交,您可以安全地删除存储库。


如果你可能已经在除主分支之外的其他分支上进行了提交:

  1. 确保你的fork存储库中有你可能提交的任何分支的本地副本。通常情况下,这已经存在,除非你在另一台电脑上。
  2. 列出所有本地分支。 git branch
  3. 对于每个要检查的本地分支,查找未在上游存储库中的提交:git rev-list --oneline local-branchname ^origin/master。或根据合并到哪个分支来比较某个其他分支。

非常有趣!但是,我需要知道是否可能创建了任何分支(不在上游存储库中)。我怎么可能找出我可能创建的分支? - AxD
是的,我会在上面的答案中添加。 - mkasberg
谢谢,伙计。所以,为了找到我的任何更改,我需要编写一个脚本,循环遍历 git branch 找到的所有分支,并使用 git rev-list ... 找到提交数量。任何找到的提交都将表示个人提交,对吧? - AxD
基本上是这样的。由于git rev-list的参数,它列出了存在于local-branchname中但不存在于另一个参数origin/master中的提交记录。因此,如果它找到任何这样的提交记录,那么你就有一些还没有合并到origin/master(或者你放在那里的任何分支)的提交记录。 - mkasberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接