<small id="7ktuj"></small>
      <bdo id="7ktuj"></bdo>
        <mark id="7ktuj"></mark>

        <source id="7ktuj"></source>
        <small id="7ktuj"></small>

        ITPub博客

        首頁 > IT職業 > IT職場 > github contribbution 沒記錄怎么破?

        github contribbution 沒記錄怎么破?

        原創 IT職場 作者:千鋒Python唐小強 時間:2019-10-23 11:42:16 0 刪除 編輯

        前言

        1 .長期使用GitHub托管代碼的小伙伴可能有發現,有時候寫了幾天的代碼,但是發現contribbution(小綠框并沒有點亮)

        2 .那么什么樣的commit才會被統計到呢,這里從github help上找到了答案,英語不錯的可以看下

        中文

        Issues 和 pull requests

        這個操作是在一年之內

        這個操作是針對一個獨立的倉庫,不能是fork

        Commits

        當你的commits滿足以下條件時,它才會被展示出來:

        一年之內提交的commits

        commits使用的email地址是與你的Github賬號相關聯的

        這些commits是在一個獨立的倉庫而不是fork倉庫(博主就是這種錯誤,導致半個月的commit都沒記錄,才發現)

        這些commits是在:

        在默認分支上(通常是master)

        在gh-pages分支(包含 Project Pages sites 的倉庫)

        此外,至少滿足下面條件中的一個(主要針對你Commit的倉庫不是你創建的):

        你是這個倉庫的協作者,或者是這個版本庫的擁有組織中的一員

        你fork過這個倉庫

        你對這個倉庫發起過pull request或者issue

        你對這個倉庫標記了Star

        【注意】:私有庫的貢獻僅僅對私有庫成員顯示

        Contributions未被Github計入的幾個常見原因

        * 進行Commits的用戶沒有被關聯到你的Github帳號中。
        * 不是在這個版本庫的默認分支進行的Commit。
        * 這個倉庫是一個Fork倉庫,而不是獨立倉庫。(博主就是這種錯誤)
        github contribbution 沒記錄怎么破?

        如何排查

        你可以在你的本地repo里用`git log`命令查看`commit`記錄上的個人郵箱是否正確,像我就是因為之前切換到Mac平臺開發之后用戶名沒有配置,所以我之后的commit記錄上的郵箱一直是mrchang,所以Github就會認為這些commits都不是你提交的!	

        補救措施

        然而這也并不是沒有補救辦法的,Github官網上就有給出詳細的補救過程,英語好的同學請自行移步 Changing author info,下面是我翻譯自Github Help的簡要步驟:

        變更作者信息

        為改變已經存在的 commits 的用戶名和/或郵箱地址,你必須重寫你 Git repo 的整個歷史。

        警告: 這種行為對你的 repo 的歷史具有破壞性。如果你的 repo 是與他人協同工作的,重寫已發布的歷史是一種不好的習慣。僅限緊急情況執行該操作。

        使用腳本改變你 repo 的 Git 歷史

        我們寫了一段能把 commit 作者舊的郵箱地址修改為正確用戶名和郵箱的腳本。

        使用腳本來改變某個repo的Git歷史

        我們已經創建了一個腳本,使用正確的姓名和電子郵件地址提交后,你以前提交的所有的commits中的作者信息及提交者字段中的舊的用戶名和郵箱地址都將被更正

        注意: 執行這段腳本會重寫 repo 所有協作者的歷史。完成以下操作后,任何 fork 或 clone 的人必須獲取重寫后的歷史并把所有本地修改 rebase 入重寫后的歷史中。

        在執行這段腳本前,你需要準備的信息:

        Mac、Linux下打開Terminal,Windows下打開命令提示符(command prompt)

        給你的repo創建一個全新的clone

        git clone --bare https://github.com/user/repo.git

        cd repo.git

        復制粘貼腳本,并根據你的信息修改以下變量:舊的Email地址,正確的用戶名,正確的郵件地址

         	`
         	#!/bin/sh
         	
         	git filter-branch --env-filter '
         	
         	OLD_EMAIL="舊的Email地址"
         	
         	CORRECT_NAME="正確的用戶名"
         	
         	CORRECT_EMAIL="正確的郵件地址"
         	
         	if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
         	
         	then
         	
         		export GIT_COMMITTER_NAME="$CORRECT_NAME"
         		
         		export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
         		
         	fi
         	
         	if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
         	
         	then
         	
         	 export GIT_AUTHOR_NAME="$CORRECT_NAME"
         	 
         	 export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
         	 
         	fi
         	
         	' --tag-name-filter cat -- --branches --tags`

        按 Enter鍵 執行腳本。

        用git log命令看看新 Git 歷史有沒有錯誤

        把正確歷史 push 到 Github

        git push --force --tags origin ‘refs/heads/*’

        刪掉剛剛臨時創建的 clone

        cd …

        rm -rf repo.git

        如何正確設置你的 git 個人信息

        接下來全局設置好你的正確信息,以后就放心的用Github進行版本管理吧

        git config --global user.email "你的郵件地址"

        git config --global user.name "你的Github用戶名"


        來自 “ ITPUB博客 ” ,鏈接:http://www.ep4tq.com/69923331/viewspace-2661083/,如需轉載,請注明出處,否則將追究法律責任。

        請登錄后發表評論 登錄
        全部評論

        注冊時間:2019-05-14

        • 博文量
          482
        • 訪問量
          259073
        妹子图每日分享