ÔõÑùÉó²éGit¿ÍÕ»µÄÌá½»ÊýÄ¿£¨ÒªÁìÏÈÈÝ£©
½üÄêÀ´£¬Ëæ×ÅÈí¼þ¿ª·¢µÄÒ»Ö±Éú³¤£¬Ô´´úÂëÖÎÀí¹¤¾ßgitÒ²Ô½À´Ô½Êܵ½ÈËÃǵÄÇàíù¡£git¿ÉÒÔÌṩ´úÂë°æ±¾¿ØÖÆ¡¢¶àÈËÐ×÷¿ª·¢¡¢´úÂë·ÖÖ§ÖÎÀíµÈÇ¿Ê¢µÄ¹¦Ð§£¬ÉîÊÜÈí¼þ¹¤³ÌʦÃǵÄϲ»¶¡£Ê¹ÓÃgitʱ£¬¾³£ÐèÒªÉó²éһЩÖ÷ÒªµÄÐÅÏ¢£¬ºÃ±ÈÔ¶³Ì¿ÍÕ»µÄcommitÊý£¬±¾ÎĽ«ÏÈÈÝÔõÑùÉó²égit¿ÍÕ»µÄÌá½»ÊýÄ¿¡£
GitÊÇÒ»ÖÖÂþÑÜʽ°æ±¾¿ØÖÆϵͳ£¬ÓëÆäËû°æ±¾¿ØÖÆϵͳ²î±ðµÄÊÇ£¬Ëü°Ñÿ¸ö¿ª·¢ÕßµÄÍâµØ¿ÍÕ»¿´×÷Ò»¸öÍêÕûµÄ°æ±¾¿ÍÕ»¡£GitÌṩÁËÐí¶à¹¤¾ßÀ´ÖÎÀíºÍÉó²é¿ÍÕ»µÄ״̬ºÍÀúÊ·¼Í¼¡£ÔÚGitÖУ¬ÎÒÃǾ³£ÐèÒªÉó²éÔ¶³Ì¿ÍÕ»µÄÌá½»ÊýÄ¿£¬ÒÔÏàʶ×îеÄÏîÄ¿Ï£ÍûÇéÐΡ£
Ê×ÏÈ£¬ÎÒÃÇÐèҪʹÓÃGitµÄÔ¶³Ì¿ÍÕ»ÖÎÀíÏÂÁîÀ´Éó²é¸ÃGit¿ÍջĿ½ñµÄÔ¶³Ì·Ö֧״̬¡£ÏÂÁîÈçÏ£º
git branch -r
µÇ¼ºó¸´ÖÆ
Õâ¸öÏÂÁÁгöËùÓеÄÔ¶³Ì·ÖÖ§¡£ÔÚGitÖУ¬Ô¶³Ì·ÖÖ§ÓÉ¡°remote_name/branch_name¡±ÕâÖÖÐÎʽÀ´ÌåÏÖ¡£ÆäÖС°remote_name¡±ÌåÏÖÔ¶³Ì¿ÍÕ»µÄÃû³Æ£¬¡°branch_name¡±ÌåÏÖ·ÖÖ§Ãû³Æ¡£ÈôÊÇÏëÒªÉó²éij¸öÔ¶³Ì·ÖÖ§µÄÀúÊ·Ìá½»¼Í¼ÊýÄ¿£¬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
git rev-list --count remote_name/branch_name
µÇ¼ºó¸´ÖÆ
Õâ¸öÏÂÁ·µ»ØÄ¿½ñÔ¶³Ì·ÖÖ§ÔÚÍâµØ¿ÍÕ»ÉϵÄÌá½»¼Í¼ÊýÄ¿¡£ÈôÊÇÏëÉó²éËùÓÐÔ¶³Ì·ÖÖ§µÄÌá½»¼Í¼ÊýÄ¿£¬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
git for-each-ref --format="%(upstream:track) %(refname:short) %(upstream:short)" refs/heads | grep -E ' \[ahead [0-9]+\]' | awk '{print $2, $3}' | sed 's#^refs/remotes/##g' | xargs -L 1 git rev-list --count
µÇ¼ºó¸´ÖÆ
Õâ¸öÏÂÁÊä³öËùÓÐÔ¶³Ì·ÖÖ§µÄÌá½»¼Í¼ÊýÄ¿£¬ÃûÌÃÈçÏ£º
branch_name submit_count
µÇ¼ºó¸´ÖÆ
ÆäÖС°branch_name¡±Îª·ÖÖ§Ãû³Æ£¬¡°submit_count¡±ÎªÌá½»¼Í¼ÊýÄ¿¡£
³ýÁËÒÔÉÏÏÂÁÎÒÃÇ»¹¿ÉÒÔʹÓÃGit logÏÂÁîÀ´Éó²éÿ¸öÌá½»µÄÏêϸÐÅÏ¢¡£ÈôÊÇʹÓÃÒÔÏÂÏÂÁ
git log remote_name/branch_name
µÇ¼ºó¸´ÖÆ
¿ÉÒÔÉó²éÔ¶³Ì·ÖÖ§µÄÌá½»ÀúÊ·¼Í¼£¬°üÀ¨Ìá½»×÷Õß¡¢Ìύʱ¼ä¡¢Ìá½»ÐÅÏ¢µÈÏêϸÐÅÏ¢¡£
×ÛÉÏËùÊö£¬GitÌṩÁ˶àÖÖÒªÁìÀ´Éó²éGit¿ÍÕ»µÄÌá½»ÊýÄ¿ºÍÌá½»ÀúÊ·¼Í¼¡£Ê¹ÓÃÒÔÉÏÏÂÁ¿ÉÒÔÇáËɵØÏàʶ´úÂëÌá½»µÄ״̬ºÍÏ£ÍûÇéÐΡ£ÏàʶÕâЩÐÅÏ¢¹ØÓÚ¶àÈËÐ×÷¿ª·¢ºÍÏîÄ¿ÖÎÀíºÜÊÇÖ÷Òª£¬¿ÉÒÔ×ÊÖúÎÒÃǸüºÃµØÕÆ¿ØÏîÄ¿½ø¶ÈºÍÖÊÁ¿¡£
ÒÔÉϾÍÊÇÔõÑùÉó²éGit¿ÍÕ»µÄÌá½»ÊýÄ¿£¨ÒªÁìÏÈÈÝ£©µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡