获取所有推入Git的列表 [英] Get a List of all Pushes with Git

查看:100
本文介绍了获取所有推入Git的列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何获得 git 中所有 push 命令到或来自特定远程的命令列表?



对于我的情况,这可以在远程或本地回购站上运行。



要获得奖励积分,我如何获得所有成功 推送命令的列表?

解决方案

这个方法只会给你成功的推送,但它对你仍然有用:

当您推送到与您的某个远程跟踪分支相对应的远程分支,并且推送成功时,远程跟踪分支将被更新。在从仓库克隆的默认情况下,这通常意味着成功地在远程原点中推送至 master 将更新远程跟踪分支 origin / master 。对 origin / master 的更改记录在reflog中,因此您可以找到成功推送:

  git reflog show origin / master 

例如,在我的一个仓库,你会看到:

$ p $ 17f2303 refs / remotes / origin / master @ {0}:fetch origin:fast-forward
dd7e0ac refs / remotes / origin / master @ {1}:fetch origin:fast-forward
1788fe refs / remotes / origin / master @ {2}:fetch origin:fast-forward
9763bbc refs / remotes / origin / master @ {3}:fetch origin:fast-forward
058d0d6 refs / remotes / origin / master @ {4}:fetch origin:fast-forward
921f0f1 refs / remotes /来源/主人@ {5}:获取源:快进
8483afd refs / remotes / origin / master @ {6}:通过更新
18d527f refs / remotes / origin / master @ {7} :通过推送
1a0fc4a refs / remotes / origin / master @ {8}更新:获取源:快进
b19afc6 refs / remotes / origin / master @ {9}:获取源:快进
9253285编号/遥控器/原产地/主人@ {10}:获取原产地:快进
dfa664f参考/远程/原产地/主@ {11}:获取原产地:快进
30ee7c0 refs /遥控器/ origin / master @ {12}:通过推送
更新ad11e76 refs / remotes / origin / master @ {13}:获取源:快进
c337975参考/远程/原点/主@ {14}:通过push更新
1ff03bd refs / remotes / origin / master @ {15}:通过
更新7fb1c8d refs / remotes / origin / master @ {16}:fetch origin:fast-forward
452c8fa refs / remotes / origin / master @ {18}:通过推动
更新11d9c4a refs / remotes / origin / master @ { 19}:获取源:快进

例如,你可以从中得知我最近的从 18d527f 到 8483afd 。推送更新 origin / master / p>

如果您需要依赖此功能,则需要停止reflog在默认时间(90天IIRC)后过期。


How can I get a list of all push commands to or from a particular remote in git?

For my case, this would be OK to run on either the remote or the local repos.

For bonus points, how would I get a list of all successful push commands?

解决方案

This method will only give you the successful pushes, but it may still be useful to you:

When you push to a branch in a remote that corresponds to one of your remote-tracking branches, and that push is successful, the remote-tracking branch will be updated. In the default case where you've cloned from a repository this typically means that successful pushes to master in the remote origin will update the remote-tracking branch origin/master. Changes to origin/master are recorded in the reflog, so you can find the successful pushes with:

 git reflog show origin/master

For example, in one of my repositories, you'll see:

17f2303 refs/remotes/origin/master@{0}: fetch origin: fast-forward
dd7e0ac refs/remotes/origin/master@{1}: fetch origin: fast-forward
1788ffe refs/remotes/origin/master@{2}: fetch origin: fast-forward
9763bbc refs/remotes/origin/master@{3}: fetch origin: fast-forward
058d0d6 refs/remotes/origin/master@{4}: fetch origin: fast-forward
921f0f1 refs/remotes/origin/master@{5}: fetch origin: fast-forward
8483afd refs/remotes/origin/master@{6}: update by push
18d527f refs/remotes/origin/master@{7}: update by push
1a0fc4a refs/remotes/origin/master@{8}: fetch origin: fast-forward
b19afc6 refs/remotes/origin/master@{9}: fetch origin: fast-forward
9253285 refs/remotes/origin/master@{10}: fetch origin: fast-forward
dfa664f refs/remotes/origin/master@{11}: fetch origin: fast-forward
30ee7c0 refs/remotes/origin/master@{12}: update by push
ad11e76 refs/remotes/origin/master@{13}: fetch origin: fast-forward
c337975 refs/remotes/origin/master@{14}: update by push
1ff03bd refs/remotes/origin/master@{15}: update by push
7fb1c8d refs/remotes/origin/master@{16}: fetch origin: fast-forward
452c8fa refs/remotes/origin/master@{17}: fetch origin: fast-forward
6c79a16 refs/remotes/origin/master@{18}: update by push
11d9c4a refs/remotes/origin/master@{19}: fetch origin: fast-forward

For example, you can tell from this that my most recent push updated origin/master from 18d527f to 8483afd.

If you need to rely on this, you'll need to stop the reflog from expiring after the default time (90 days IIRC).

这篇关于获取所有推入Git的列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆